欢迎来到天天文库
浏览记录
ID:40589764
大小:27.00 KB
页数:4页
时间:2019-08-04
《信息奥赛测试题 (3)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深索题:1.分书roceduretry(i:integer);varj:integer;beginifi=n+1thenprintelseforj:=1tondoifbook[j]and(a[i,j]=1)thenbeginb[i]:=j;book[j]:=false;try(i+1);book[j]:=true;b[i]:=0;end;end;procedureprint;vari:integer;beginfori:=1ton-1dowrite(b[i],'');writeln(B[N]);end;主程序:beginfillchar(b,sizeof(b),0);fillchar(
2、book,sizeof(book),true);readln(n);fori:=1tondoforj:=1tondoread(a[i,j]);try(1);End.2、四色问题programtt;constnum=20;vara:array[1..num,1..num]of0..1; s:array[1..num]of0..4;{用1-4分别代表RBWY四种颜色;0代表末填进任何颜色} k1,k2,n:integer;functionpd(i,j:integer):boolean;{判断可行性:第I个省填上第J种颜色}vark:integer;begin fork:=1t
3、oi-1do {一直从第一个省开始进行比较一直到I省减一的那个省,目的是对已经着色的省份来进行比较,因为>I的省还没 有着色,比较没有意义,着色的顺序是先第一、二、三……I个省} if(a[i,k]=1)and(j=s[k])then{省I和省J相邻且将填进的颜色和已有的颜色相同} begin pd:=false;{即不能进行着色} exit; {退出当前函数} end; pd:=true; {可以进行着色}end;pro
4、cedureprint;{打印结果}vark:integer;begin fork:=1tondo{将数字转为RBWY串} cases[k]of 1:write('R':4); 2:write('B':4); 3:write('W':4); 4:write('Y':4); end; writeln;end;proceduretry(i:integer);varj:integer;begin forj:=1to4do ifpd(i,j)the
5、nbegin s[i]:=j; ifi=nthenprint elsetry(i+1); {对下一个省进行着色} s[i]:=0; {不能进行着色,将当前状态设置0,即不进行着色} end;end;BEGIN write('pleaseinputcitynumber:');readln(n); wri
6、teln('pleaseinputtherelationofthecities:'); fork1:=1tondo begin fork2:=1tondoread(a[k1,k2]); {A[K1,K2]=1表示省K1、K2相邻,为0就不相邻} readln; end; fork1:=1tondos[k1]:=0; {把所有的颜色设置为0,即还没有进行着色} try(1);END.3、素数环、programtt;vara:array[1..20]ofinteger;k:integer;functionpd1(j,i:inte
7、ger):boolean;beginpd1:=true;fork:=1toi-1doifa[k]=jthenbeginpd1:=false;exit;end;end;functionpd2(x:integer):boolean;beginpd2:=true;fork:=2totrunc(sqrt(x))doifxmodk=0thenbeginpd2:=false;exit;end;end;functionpd3(j,i:integer):boo
此文档下载收益归作者所有