欢迎来到天天文库
浏览记录
ID:20951757
大小:6.26 MB
页数:23页
时间:2018-10-18
《比如古老的哥斯尼堡桥问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Areporton1161-wallsGraphTheory比如古老的哥斯尼堡桥问题:把区域看作点,把连接看作路径.Part4:通过取最小值尝试每一个区域,得出最短路径Part1:每个成员都同时属于不同区域,记录他们属于的区域。Part2:建立区域之间的连接地图,直接连通的记为1,不连通的记为0,记录入数组path[i][j]。Part3:寻找两个区域之间的最短路径。Casesolvingprocess:用多维数组b[i][j]来记录成员所属于的区域,i表示成员编号,j表示记录位点。用tail[30]来索引位点的地址。当记录到一个区域时,tail[]++,跳到下一个记
2、录点==〉可以把所有成员的位置记录下来备用。Part1:Locating12345678910Part2:roughmappingRegion5:Clockwise86,Region6:Anti-clockwise68.wal[i][k]==wal[j][l]&&wal[i][k+1]==wal[j][l-1]486wal[5]][1]==wal[6][1]687wal[5][2]==wal[6][0]Littletrick:48,86,but64?令wal[last+1]=wal[first],即wal[5][3]=wal[5][0]=4,序列为4,8,6
3、,4这样就有了64.Wal[region][sequenceoftown]01234567890123456789Theresult因为还没有学过sizeof,所以把区域包含的城镇数记录入Wal[i][250]Round0round1round2round3Part3:stillmapping….00101232010221211Red:frontierGreen:exhaustedareaBlue:virginlanda[round][region]用来记录区域的状态;若数值为1,表示处于前线的区域,0为未访问过的区域,2为已经访问过的区域,以免回访。用a[0][
4、n]=1来初始化出发的区域。用x为寻找的轮数(round),进入循环X=0;a[0][n]=1,Theother=0;Huntingbegin…1!000000000a[round][region]1000000000X=0;a[0][i]==1a[0][j]==0ButPath[i][j]!=1;Accessdenied…a[round][region]1000000000这样记录从出发区域到该区域的距离为x+1:path[i][j]=x+1.X=0;a[x][i]==1a[x][j]==0&Path[i][j]==1;Connecting…a[round][re
5、gion]X=0;a[0][n]=1Darkgreen:landofpromise.100000000010000000002000110100X=0x=1*发生作用的1在下一轮变为2,而被作用的0变为1,已经为2的顺延,其他的0不变*x=0循环结束后再从x=1开始,进入右图的计算。X=1;2000110100X=2;201022121101234567890123456789Part3-end:Themapweneedfor(每一个区域){for(每一个组员){for(他属于的不同的区域)比较得到该组员到达该区域的最短路径}相加得到所有人到该区域的路径和}比较到每
6、个区域的路径和得出最短路径Part4:“For”circleneverrestTheDamncode:length:1485B,Memory:1408K;Runtime:951MS…..Feelings(1):trialanderror,letcomputerdothework.Butremembertooptimizeyourprogram.Feelings(2):Onemistakeleadstothecollapseofthewholeprogram,Likemisusing“<“and“<=“inloopstructure.Missingone“{”or“}”
7、canproducethousandsoferrors,evenyoucannotlocateit….Feelings(3):Computerisanamazingcreature,ButGoodgamecannotbemadeinaday….Hell,it’sabouttime…Thankyou~
此文档下载收益归作者所有