Artifact b584e6b7fe45956b44f542c7625d149871f335d2:
0000: 2f 2f 20 63 6f 64 65 20 74 65 6d 70 6c 61 74 65 // code template
0010: 20 66 6f 72 20 42 46 53 0a 0a 09 09 53 74 61 74 for BFS....Stat
0020: 65 20 73 74 61 72 74 20 3d 20 2f 2a 73 74 61 72 e start = /*star
0030: 74 2a 2f 3b 0a 09 09 76 65 63 74 6f 72 3c 53 74 t*/;...vector<St
0040: 61 74 65 3e 20 51 28 20 31 2c 20 73 74 61 72 74 ate> Q( 1, start
0050: 20 29 3b 0a 09 09 73 65 74 3c 53 74 61 74 65 3e );...set<State>
0060: 20 20 20 20 56 3b 20 56 2e 69 6e 73 65 72 74 28 V; V.insert(
0070: 73 74 61 72 74 29 3b 0a 0a 09 09 66 6f 72 28 69 start);....for(i
0080: 6e 74 20 73 74 65 70 3d 30 3b 20 21 51 2e 65 6d nt step=0; !Q.em
0090: 70 74 79 28 29 3b 20 2b 2b 73 74 65 70 29 0a 09 pty(); ++step)..
00a0: 09 7b 0a 09 09 09 76 65 63 74 6f 72 3c 53 74 61 .{....vector<Sta
00b0: 74 65 3e 20 51 6f 6c 64 3b 20 51 6f 6c 64 2e 73 te> Qold; Qold.s
00c0: 77 61 70 28 51 29 3b 0a 09 09 09 66 6f 72 28 69 wap(Q);....for(i
00d0: 6e 74 20 71 69 3d 30 3b 20 71 69 3c 51 6f 6c 64 nt qi=0; qi<Qold
00e0: 2e 73 69 7a 65 28 29 3b 20 2b 2b 71 69 29 0a 09 .size(); ++qi)..
00f0: 09 09 7b 0a 09 09 09 09 53 74 61 74 65 26 20 63 ..{.....State& c
0100: 75 72 20 3d 20 51 6f 6c 64 5b 71 69 5d 3b 0a 09 ur = Qold[qi];..
0110: 09 09 09 69 66 28 20 2f 2a 69 73 47 6f 61 6c 28 ...if( /*isGoal(
0120: 63 75 72 29 2a 2f 20 29 0a 09 09 09 09 7b 0a 09 cur)*/ ).....{..
0130: 09 09 09 7d 0a 0a 09 09 09 09 66 6f 72 65 61 63 ...}......foreac
0140: 68 28 6e 65 78 74 29 0a 09 09 09 09 7b 0a 09 09 h(next).....{...
0150: 09 09 09 69 66 28 20 21 56 2e 63 6f 75 6e 74 28 ...if( !V.count(
0160: 6e 65 78 74 29 20 29 0a 09 09 09 09 09 7b 0a 09 next) )......{..
0170: 09 09 09 09 09 56 2e 69 6e 73 65 72 74 28 6e 65 .....V.insert(ne
0180: 78 74 29 3b 0a 09 09 09 09 09 09 51 2e 70 75 73 xt);.......Q.pus
0190: 68 5f 62 61 63 6b 28 6e 65 78 74 29 3b 0a 09 09 h_back(next);...
01a0: 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 7d 0a ...}.....}....}.
01b0: 09 09 7d 0a ..}.