【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。
标签: 点阵
上传时间: 2014-06-21
上传用户:llandlu
图书馆管理信息系统分析与设计 【论文摘要】 1 【关键字】 1 1. 选题背景 3 1.1. 课题背景、意义和来源以及系统工具介绍 3 1.1.1. 课题背景及意义 3 1.1.2. 课题的来源 3 1.1.3. 系统工具介绍 3 1.2. 国内外发展概况 4 1.3. 研究内容及须解决的关键问题 4 1.3.1. 研究内容 4 1.3.2. 需要解决的关键问题 4 2. 图书馆管理信息系统解决方案 5 2.1. 方案内容 5 2.2. 方案论证 5 2.2.1. 方案的选择 5 2.2.2. 方案的技术实现 6 3. 系统总体设计 7 3.1. 系统总体设计 7 3.2. 系统总体功能图 8 3.3. 数据库设计 8 3.3.1. 数据库的选择 8 3.3.2. 数据库设计 9 3.3.4. 数据库关系图 10 4. 图书馆管理信息系统的实现过程 11 4.1. 系统结构 11 4.2. 登录系统界面的设计 12 4.3. 信息服务子系统的设计 12 4.4. 管理和维护子系统的设计 15 5. 开发过程遇到的问题及解决方法 20 6. 结束语 21 参考文献 21
上传时间: 2013-12-28
上传用户:zhyiroy
用于仿真进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来[3]。简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示功能,还需要有相应的软件配合,才能达到设计要求。
标签: 程序
上传时间: 2015-02-27
上传用户:dpseternal
此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来[3]。简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示功能,还需要有相应的软件配合,才能达到设计要求
标签: 电源设计
上传时间: 2015-02-27
上传用户:dpseternal
超强捕捉屏幕、截图功能 截取任何区域、窗口、按钮 可以在任何桌面捕捉图像,包括虚拟机桌面, 同时支持捕捉区域与上次捕捉区域大小一致。 可以捕捉活动窗口,扩展活动窗口,还可以捕捉无边框窗口等窗口截图。 按钮捕捉--专业的技术写手的理想选择,适合那些需要大量捕捉记录按钮的专业技术文档。 支持视频截图、连续截图 支持抓取视频、DVD 屏幕图像 、DirectX, 3Dfx Glide全屏游戏截图等。 支持图像的连续截取,截取后的图像显示在窗口工作区,可通过窗口缩略图视图逐一查看。 多种方式截图,非矩形窗口截取图像 可以自由定义截图区域的形状大小,可以是椭圆形,圆形或是徒手圈出截图区域形状大小,同时在[图像编辑]功能,将图像做成更多效果。 支持将图像保存为多种格式,并可以支持图像格式转换 截取编辑过的图像可以以20多种图形格式保存(包括:BMP, GIF, JPEG, TIFF, PCX 等)并阅览,同时还可以将图像格式转换为其他需要的格式。
标签: hypersnap
上传时间: 2016-04-29
上传用户:xc216
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
C语言课程设计上机实习内容 一、从下面题目中任选一题: A.简单的学生成绩管理程序设计 B.考卷成绩分析软件程序设计 C.简单医疗费用报销管理软件程序设计 除此之外,学生也可自行选择课题进行设计,如自动柜员机界面程序、学生信息管理(包括生日祝贺)、计件工资管理等(但课题必须经指导教师审题合格后方可使用)。 二、课程设计说明书的编写规范 1、程序分析和设计 2、流程图 3、源程序清单 4、调试过程:测试数据及结果,出现了哪些问题,如何修改的 5、程序有待改进的地方 6、本次实习的收获和建议 三、提交的资料 1、软件 软件需提供源程序,并能正常运行。 注:对于程序中未能实现的部分需要加以说明。 对于程序中所参考的部分代码需要加以声明,并说明出处。 2、文档 课程设计文档要求打印稿,同时提交电子文档。文档中必须包含课程设计小结,即收获和体会。 文档要注意格式,标题一律用小四号宋体加黑,正文用五号宋体,行间距固定值18,首行缩进2字符;如果有图表,每个图表必须顺序编号并有标题,如“图1 计算平均分的N-S图”、“表1 地信081班成绩一览表”,一般图名在图的正下方、表名在表的正上方。 四、成绩评定 通过学生的动手能力、独立分析解决问题的能力、创新能力、课程设计报告、答辩水平以及学习态度综合考核。 考核标准包括: 1、完成设计题目所要求的内容,程序书写规范、有一定的实用性,占45%; 2、平时表现(考勤+上机抽查)占10%; 3、课程设计报告占30%; 4、答辩及演示占15%。 五、实习计划 以选题一为例 实习计划 时间 内容 第1天 一、布置实习内容和要求 1、 实习内容介绍、实习安排、实习纪律、注意事项 2、 学生选题 第2天 二、上机实习 1、根据所选题的要求,进行总体设计,确定程序总体框架 2、选择和准备原始数据,制作.txt文本文件 第3天 3、文件的读写函数的使用,实现文本文件的读取和写入功能。 使用函数fread(); fwrite(); fprint(); fscan();完成对原始数据的文本输入和输出。 第4、5天 4、主要算法的选择和功能实现(以学生成绩管理系统为例): ① 计算每个学生三门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件。 ② 统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件。 第6、7天 5、结果格式输出及程序整合(以学生成绩管理系统为例) ① 按格式在屏幕上打印每名学生成绩条; ② 在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩; (选做)在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2) 名次在前三名; 3) 每门功课及格以上; 第8天 三、测试完整程序 要求功能完整,结果符合设计要求,并进行程序验收。 第9、10天 四、编写报告 完成实习报告的编写,并打印上交报告。
上传时间: 2016-06-27
上传用户:lh643631046
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789
以上是flotherm软件的核心操作,以及热设计原理介绍,困难点方案处理
上传时间: 2021-10-17
上传用户:
方案论证与比较开关稳压电源主要完成数控调节、DC-DC变换环节和稳压环节,数控调节采用T公司超低功耗处理器MsP430F169单片机进行控制,DCDC变换又分升压和降压变换,本系统要求升压变换,并且电流达到2A能够稳压,达到2.5A实现过流保护,根据这一系列要求有以下可选方案。1.1控制核心选取方案比较:方案一:采用51或者AVR单片机,其功耗较高,并不自带AD、DA或者自带AD DA精度不高,采集数据不便,设置输出电压不便。方案二:采用T推出的超低功耗处理器sP430F169单片机,其自带12位高精度AD、DA,外围电路简单,便于采集输出电压和设置输出电压。因此本系统采用MSP430F169作为控制核心。12DCDC升压方案比较:方案一:采用BO0ST升压电路升压,通过调节PM占空比调节输出电压,实现升压并可调压,但是BO0ST电路的输人电流连续,输出电流断续,输出存在着较大的纹波,开关噪声大缺点,不易达到题目要求。方案二:采用推挽式变换,推挽式开关电源两个控制开关轮流交替工作,开关管驱动控制简单,输出波形非常对称,在整个周期内都向负载提供功率输出因此,输出电流瞬态响应速度很高,电压输出特性很好,是所有开关电源中电压利用率最高的开关电源。高频变压器升压,电压可调范围广,空载损耗较小,效率较高,所占体积较小。因此本设计采用了方案二。13稳压方案比较:方案一:采用单片机AD采样,获取输出电压、电流,通过程序算法调节PWM波占空比实现稳压,硬件简单、成本较低,但是在反馈调节时采集输出电压比较复杂,程序算法也相对复杂,反应速度相对硬件反馈较慢,不够精准,并且还要单独做过流保护电路
上传时间: 2022-03-16
上传用户: