Hex Artifact Content
Not logged in

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                                      ..}.