搜索算法个人总结pascal

搜索算法个人总结pascal

ID:41686178

大小:95.34 KB

页数:25页

时间:2019-08-30

搜索算法个人总结pascal_第1页
搜索算法个人总结pascal_第2页
搜索算法个人总结pascal_第3页
搜索算法个人总结pascal_第4页
搜索算法个人总结pascal_第5页
资源描述:

《搜索算法个人总结pascal》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2011.10.17总结(1-5题为今天重写一次,其下所农示的提交次数为今夭重写的提交次数尹其他题提交次数为原来的次数,部分不详,题号前加星号表示未AC)1・N皇后(位运算版)这个是看了标程后写的'很有意脛很巧廿的做冻,也很径大,一決wa,是因为没写inc(sum),。①《只输出结果数目)programquen;varkySum^ndongint;proceduredfs(rowjyr:longint);//row:列I,r:两条对角线pos^p:longint;beginifrowokthenbeginpos:=ka

2、ndnot(lorrorrow);whilepos<>0dobeginp:=posand(notpos+1);皇后的地方pos:=pos-p;II表示需要放皇后的的位子II有皇后要放”取最右边的1Up表示某个可以放上II放上皇后dfs(row+p,(l+p)shll,(r+p)shr1);H回溯,注意对角线的处理end;endelseinc(sum);end;beginII每一位都是1,目标状态readln(n);k:-(lshln)-l;dfs(OAO);writeln(sum);end.②《输出前3种方案,tyvj

3、080)programquen{输出前3种解};vark,sumji,i,t:longint;a:array[0..14]oflongint;proceduredfs(dep,ro4r:longint);//dep:F=f)i6fr层数row:br:两条对角线pos,p,i:longint;beginifdep>nthenbegininc(sum);ifsum<=3thenbeginfori:=ltondowrite(a[i]/');writeln;end;endelsebeginfori:=ltondobeginp:

4、=(lshl(i-1));pos:-pand(roworIif(pos=0)I缺策有效〃输出决策n^i位是否可以放皇后“二进制决策r);//pos记录冲突I般有冲突thenbegina[dep]:-i;II记录决策dfs(dep+l,row+p,(l+p)shll,(r+p)shr1);〃下一层递归end;end;endend;II每一位都是l,目标状态beginreadln(n);k:=(lshln)-l;fori:-ltondobeginaUl:=;〃初始化第一行,有n个状态t:=lshl(i-l);shllyts

5、hr1);end;writeln(sum);2.计算细胞数一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:阵列0234500067103456050020456006710000000089有6个细胞输入格天InputFormat第一行:两个数字MN(1<=44<=5OK=N<8O)示该阵列有At行7V列从第2行到第M+7行每行有决续的N个字符输出格•式OutputFormat一行:细胞个数似乎我写出来的不是标准的捜奈……〃思路:以鈿

6、胞中的一个点%起点,将他及他周圄的不为0的点都改%0,然后找下一个。//提交情况:一次ACprogramtyvj1127;varn,m,re:longint;a:array[l..100,1..100]oflongint;procedureinit;beginassign(input/tyvj1127.in1);assign(output/tyvj1127.ouf);reset(input);rewrite(output);end;procedurechange(ij:longint);varkj:longint;be

7、gina[i,j]:=O;ifi>lthenifa[i-l,j]>0thenchange(i-l,j);ifa[i+l,j]>0thenchange(i+l,j);ifj>lthenifa[i,j-l]>0thenchange(i,j-l);ifa[iJ+lJ>0thenchange(i,j+l);end;procedureprepare;vari,j:longint;k:char;beginreadln(n,m);fori:=ltondobeginforj:=ltomdobeginread(k);val(k,a[i,

8、jl);end;readln;end;re:=0;fori:=ltondofo叮:=1tomdobeginifa[i,j]<>0thenbeginchange(i,j);re:=re+l;end;end;writeln(re);end;procedureoutit;beginclose(input);close(output);e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。