$30
1 Introduction
In the previous part, we generated the valid moves at a given state. We will now need to implement functionality so that one of these moves can actually be played. This means we must take in the initial position (as a FEN string), and the move to be executed. The program will then output the resulting board position once that move has been played (again as a FEN string).
2 Move Representations
For every submission, we will represent a move as a string <start_square><end_square> specifying the starting location of the piece to move and then square the piece ends up on. For example, the move e3e4 represents a piece moving from e3 to e4.
3 Executing Moves
Each move specifies the square that a piece moves from and the square it moves to. To update the board, we must simply remove the piece from its starting square and place it at the target square (if there is an opposing piece at that square, that piece is “captured” and so is removed from the board). There are three other considerations:
1. After a move has been played, the side to move switches. If Black moved, it is then White’s turn (and vice versa).
2. The move counter in the FEN string counts the number of moves made, but is only incremented after Black plays their turn.
3. One other consideration is that of drowning pieces. If a piece of the moving player begins in the river, and after the move is executed it remains in the river, then it too must be removed from the board.
4 Input Hint
Hint: a reminder not to be careful when mixing cin with getline. An example of doing so is below:
int N; cin >> N; cin.ignore(); //NB!
for (int i = 0; i < N; ++i) { string fen; getline(cin, fen);
}
1
2
3
4
5
6
7
Submission: Execute Moves
Write a C++ program that accepts a FEN string and a move to be executed and stores the piece location information in appropriate data structures. It should then output the FEN string of the position that results when the move is executed, as well as whether the game has been won by either side.
Input
The first line of input is N, the number of input positions given as FEN strings. 2N lines follow consisting of FEN strings and the move to be executed. You may assume that each FEN string is a valid position, and that the move to play is a valid one.
Output
For each FEN string and move, output two lines. The first line of output should be the resulting position as a FEN string. The second line should specify whether the game is over. If the game is not over, print Continue. If the move was made by White and resulted in it winning the game, output White wins. Otherwise if Black has just won, output Black wins.
Example Input-Output
Sample Input
3
2ele1z/ppppppp/7/7/7/PPP1PPP/2ELE1Z w 4 d1d2
1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b 35 f5f7
1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b 12 g4e4
Sample Output
2ele1z/ppppppp/7/7/7/PPPLPPP/2E1E1Z b 4
Continue
1z3e1/pPp1lP1/6p/4P2/4L1p/2p2pP/7 w 36
Continue
1z5/pPp1lP1/5ep/7/4L1p/2p2pP/7 w 13
Continue
Visualisation of Above Test Cases
Z0 po Z0
Z Z pop Z0Z
0Z op 0Z
7
6
5
4
3
2
1
Z0 po Z0
Z Z pop Z0Z
0Z op 0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
PO
Z0
Z0Z
PZP
Z Z
0Z
OP
0Z
Z0
PO
Z0
Z0Z
PZP Z0Z
0Z
OP
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) 2ele1z/ppppppp/7/7/7/PPP1PPP/2ELE1Z (b) 2ele1z/ppppppp/7/7/7/PPPLPPP/2E1E1Z w 4 b 4
Figure 1: Initial and next positions after the move d1d2. The White lion moves one square forward.
Z pO Z0
Z0Z pZ Z0Z
0Z
O0 o
7
6
5
4
3
2
1
Z pO Z0
Z0Z pZ Z0Z
Z
O0
0o
0Z
0ZP
Z
0Z
0ZP
Z0
Z0
0Z
Z0
Z0Z pZ0 Z0Z
0o oP 0Z
Z0
0Z
Z0
Z0Z pZ0 Z0Z
0o oP 0Z
1
a b c d e f g a b c d e f g
(a) 1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b (b) 1z3e1/pPp1lP1/6p/4P2/4L1p/2p2pP/7 w
35 36
Z
Z0Z
0Z
pO
pZ
O0
Z0
Z0Z
o
0Z
0ZP
Z
Z0
Z0Z
0o
0Z
pZ0
oP
Z0
Z0Z
0Z
Figure 2: Initial and next positions after the move f5f7. The Black elephant moves to f7, but the elephant in g4 drowns at the end of the move and is removed. The move count is incremented.
7
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
(a) 1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b
Z
Z0Z
0Z
pO
pZ
O0
Z0
Z0Z
o
0Z
0Z0
Z0
Z0
Z0Z
0o
0Z
pZ0
oP
Z0
Z0Z
0Z
a b c d e f g
(b)1z5/pPp1lP1/5ep/7/4L1p/2p2pP/7 w 13 35
Figure 3: Initial and next positions after the move g4e4. The Black elephant on g4 captures the White pawn on e4. However, it started and ended in the river (although on different squares) and so after moving, it too drowns and is removed from the board.
5 Generated Positions
Z0
Z Z
0Z
0O
0Z0
Z0
Z0
Z Z
0Z
0Z
0Z0
Z
Z0
Z Z
0Z
0O
0O0
Z0
Z
Z Z
0Z
Z0
Z Z
0Z
0O
0Z0
Z0
Z0
Z Z
0Z
0Z
0Z0
Z
Z0
Z0Z
0Z
0O
0O0
Z0
Z
Z Z
0Z
7
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
a b c d e f g
(a)2zl3/1P5/3E3/6e/e6/1P1P3/1E1LZ2 w 0
(b) 2zl3/1P5/3E3/6e/e2Z3/1P1P3/1E1L3 b
0
Figure 4: Initial and next positions after the move e1d3
Z0
0Z
OP
Z0Z
0Z
OpZ
0Z
Z
0Z
7
6
5
4
3
2
1
Z0
0Z
OP
Z0Z
0Z
OpZ
0Z
Z
0Z
0Z
0Z0
O0
0Z
0Z0
Z0
ZP
0Z
Z0
oZ
OP
Z0Z
0Z
Z0
0Z
ZP
0Z
Z0
o0Z
OP
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) 7/3zl1E/PPPp3/3e1P1/1PpZ3/2LPP2/4e2 (b) 7/3zl1E/PPPp3/3e3/1Pp4/2LPP2/2Z1e2 w 42 b 42
Figure 5: Initial and next positions after the move d3c1
Z0 pZ Z0
Z0Z o0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0 pZ Z0
Z Z o0
Z0Z
0Z
Z0
0Z
0Z
pZ0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
Zp
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/p1Ep3/4z2/2p4/1p5/2L4/7 b 4 (b)3zl2/p1Ep3/7/7/1p5/2L4/7 w 5
Figure 6: Initial and next positions after the move e5d7
Z0
O
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
O
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z
0Z
0Z0
Z0
ZP
0O
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
Z
ZP
0O
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/ePl4/7/6E/1P5/1P1L3/4eZ1 w 10 (b)7/ePl4/7/7/1P2Z2/1P1L3/4e2 b 10
Figure 7: Initial and next positions after the move f1e3
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z
0o
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0o
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
Z
Z0
Z0O pZ0 Z0Z
0Z o0 0Z
Zp
Z
Z0
Z0O pZ0 Z0Z
0Z o0 0Z
1
a b c d e f g a b c d e f g
(a) 7/1p4Z/4l1p/1z5/Ep2P2/Eep2p1/4L2 w (b) 4Z2/1p5/4l1p/1z5/Ep2P2/Eep2p1/4L2 b
10 10
Figure 8: Initial and next positions after the move g6e7
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
ZP
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
ZP
0Z
0Z
0ZP
Z0
0Z
ZP
Z0
Z0
0Z
Z0
O0Z
0Z0
Z0Z
0Z Z0
0Z
Z0
0Z
Z0
O0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)Z3l2/3P2P/7/4P2/2P1L2/3z3/7 b 9 (b)Z3l2/3P2P/7/2z1P2/2P1L2/7/7 w 10
Figure 9: Initial and next positions after the move d2c4
Z0
Z0Z
0Z
0Z
0oP
O0
Z0
Z Z
0O
pZ
0Z0
O0
Z0
Z0O
Z
0Z
pZ0
Z0
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0oP
O0
Z0
Z Z
0O
pZ
0Z0
Z0
Z0
Z0O
0Z
0Z
pZ0
Z0
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) 7/3pPP1/2zl2P/p4P1/4PZ1/2p4/2L4 w
(b)7/3pPP1/2zl2P/p6/4P2/2pZ3/2L4 b 17
17
Figure 10: Initial and next positions after the move f3d2
Z0
0Z
ZP
Z0Z
0O0
O Z
0Z
Z0
0O
7
6
5
4
3
2
1
Z0
0Z
ZP
Z0Z
0O0
O Z
0Z
Z0
0O
0Z
Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0O
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0O
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/1E1P3/1PPl2P/2Z4/2L3P/7/7 w 27 (b)7/1E1P3/1PPl2P/7/2L3P/1Z5/7 b 27
Figure 11: Initial and next positions after the move c4b2
Z0
0Z
Z0
Z0Z
O o0Z
0Z o0 0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
O o0Z
0Z o0 0Z
0Z
Z0
o0
0Z
0Z0
o0
Z0
Z Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
Z0
0Z Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/2ePlp1/2p4/2E2p1/7/Z6/z1L4 w 5 (b)7/2ePlp1/2p4/5p1/2Z4/7/z1L4 b 5
Figure 12: Initial and next positions after the move a2c3
Z0
0O
Zp
Z0Z
ZP ZpZ
0Z Zp
0o
7
6
5
4
3
2
1
Z0
0O
Zp
Z0Z
ZP
ZpZ
0Z
Zp
0o
0Z
0ZP
Zp
0Z
Z0
Zp
Z0
0Z
Z0
Z0O
0Z0 Z0Z
0Z o0 0Z
Z0
0Z
Z0
Z0O
0Z0
Z0Z
0Z o0 0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) z6/1PlZP1p/1p1p2p/4P1p/4P2/5p1/2L4 (b) z6/1Pl1P1p/1p1p2p/2Z3p/4P2/5p1/2L4 w 39 b 39
Figure 13: Initial and next positions after the move d6c4
Z0
0o
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
0Z
Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/1p5/3l3/2E4/7/3L3/7 w 10 (b)7/1p5/3L3/7/7/7/7 b 10
Figure 14: Initial and next positions after the move d2d5
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)4e1z/3l3/7/4p2/7/3L3/4Z2 b 9 (b)4e1z/7/7/7/7/3l3/4Z2 w 10
Figure 15: Initial and next positions after the move d6d2
Z0
Z0Z
0Z
pZ
0Z0
Z0
Z0
Z Z
0Z
pZ
0Z0
O0
Zp
O Z
po
0Z
pZp
Z0
Z0
Z0Z
0Z
Z0
Z0Z
0Z
pZ
0Z0
Z0
Z0
Z0Z
0Z
0Z
0Z0
O0
Zp
O Z
po
0Z
pZp
Z0
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) 7/p6/2ElZ2/p4P1/EpPL1pp/2p1p2/7 b
(b)7/p6/2E1Z2/5P1/EpPl1pp/2p1p2/7 w 28
27
Figure 16: Initial and next positions after the move d5d3
Z0
Z
Z
ZZ
0Z0 Z0Z
0Z oP 0Z
7
6
5
4
3
2
1
Z0
Z
Z
ZZ
0Z0
Z0Z
0Z oP 0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0 pZ Z0
ZPZ
0ZP Z0Z
0Z
Z0
0Z
Z0 pZ Z0
ZPZ
0ZP Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)3E3/ze3pP/1El4/7/3P3/p2eP2/2L4 b 32 (b)3E3/ze3pP/1E5/7/3P3/p2eP2/2l4 w 33
Figure 17: Initial and next positions after the move c5c1
Z0 pZ Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0o
7
6
5
4
3
2
1
Z0 pZ Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0o
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0 Z0Z
0Z o0 0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z o0 0Z
1
a b c d e f g a b c d e f g
(a)7/p6/2l3p/7/7/5p1/2L4 w 4 (b)7/p6/2L3p/7/7/5p1/7 b 4
Figure 18: Initial and next positions after the move c1c5
Z0
0O
Z0
Z0Z
0Z0
Z0Z
0Z Zp pZ
7
6
5
4
3
2
1
Z0
0O
Z0
Z0Z
0Z0 Z0Z
0Z Zp pZ
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
0Z0
Z Z
0Z
O0
0Z
Zp
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
O0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/1P1l2p/5p1/7/Ep5/5P1/3L3 w 1 (b)7/1P1L2p/5p1/7/Ep5/5P1/7 b 1
Figure 19: Initial and next positions after the move d1d6
Z0
Z0Z
0Z
0Z
0Zp
O0
Z
Z0Z
PZ
pZ
0Z0
Z0
Z0
Z0Z
0Z
0Z
PZ0
O0
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0Zp
O0
Z
Z0Z
PZ
0Z
0Z0
Z0
Z0
Z0Z
0Z
0Z
PZ0
O0
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) E5z/3ZpP1/1E2lP1/p6/4L2/1eP2P1/7 b
(b)E5z/3ZpP1/1E3P1/7/4l2/1eP2P1/7 w 31
30
Figure 20: Initial and next positions after the move e5e3
Z0
0Z
Z0
Z0Z
0O0 Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
Z0
0Z
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0 0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0 0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/3P3/2l4/4p2/2L4/5e1/7 b 49 (b)7/3P3/7/7/2l4/5e1/7 w 50
Figure 21: Initial and next positions after the move c5c3
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
ZP
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
ZP
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/6P/7/7/7/7/4L2 w 18 (b)4L2/6P/7/7/7/7/7 b 18
Figure 22: Initial and next positions after the move e1e7
Z0
0Z
Z0
Z0Z
0Z0
Z0o
0Z
Z
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0 Z0o
0Z
Z
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
ZZ
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)e6/3l2E/4p2/7/3L3/7/7 w 1 (b)e6/3L2E/4p2/7/7/7/7 b 1
Figure 23: Initial and next positions after the move d3d6
Z0
0Z
Z0
Z0Z pZ0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z pZ0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
ZP
Z Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
Z0
Z Z
PZ
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/2p4/3l3/7/2L4/2E1P2/3e3 w 25 (b)7/2p4/3l3/7/2L2P1/2E4/3e3 b 25
Figure 24: Initial and next positions after the move e2f3
Z0
0O
Z0
Z Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
ZP
Z Z
0Z0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z
0Z
0Z0
Z
Z0
0O
Z
Z0Z
0O0
Z Z
0Z
Z0
0Z
Z0
0O
Z
Z0Z
0O0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)2zl3/1P5/3E3/6e/e6/1P1P3/1E1LZ2 w 0 (b)2zl3/7/1P1E3/6e/e6/1P1P3/1E1LZ2 b 0
Figure 25: Initial and next positions after the move b6b5
Z0
0Z
OP
Z0Z
0Z
OpZ
0Z
Z
0Z
7
6
5
4
3
2
1
Z0
0Z
OP
Z0Z
0Z
ZpZ
0Z
Z
0Z
0Z
0Z0
O0
0Z
PZ0
Z0
ZP
0Z
Z0
oZ
OP
Z0Z
0Z
Z0
0Z
ZP
0Z
Z0
oZ
OP
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a) 7/3zl1E/PPPp3/3e1P1/1PpZ3/2LPP2/4e2 (b) 7/3zl1E/PP1p3/2Pe3/1PpZ3/2LPP2/4e2 w 42 b 42
Figure 26: Initial and next positions after the move c5c4
Z0 pZ Z0
Z0Z o0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0 pZ Zp
Z0Z o0
Z0Z
0Z
Z0
0Z
0Z
pZ0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)4l2/p1Ep3/4z2/2p4/1p5/2L4/7 b 4 (b)4l2/p1Ep3/1p2z2/7/7/2L4/7 w 5
Figure 27: Initial and next positions after the move b3b5
Z0
0Z
Z0
Z0Z
0ZP
Z0Z
0Z
Z0
0o
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0ZP
Z0Z
0Z
Z0
0Z
0Z
0o0
Z0
0Z
0Z0
Zp
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0o
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0o
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/4P2/6p/3p3/e5p/7/4L2 b 2 (b)4l2/4P2/7/6p/e5p/7/4L2 w 3
Figure 28: Initial and next positions after the move g5g4
Z0
O
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
Z
Z0
O0Z
Z0
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z
0Z
0Z0
Z0
ZP
0O
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
Z
ZP
0O
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/ePl4/7/6E/1P5/1P1L3/4eZ1 w 10 (b)2P4/e1l4/7/7/1P5/1P1L3/4eZ1 b 10
Figure 29: Initial and next positions after the move b6c7
Z0
0O
Z0
Z0Z
PZ0
Z0Z
0Z Z0
0Z
7
6
5
4
3
2
1
Z0
0O
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
PZ0
Z0
Z0
0Z
Z0
O0Z
0Z0 Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
O0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)2E4/1PPl3/7/7/2P4/7/2L4 w 25 (b)2E4/1P1l3/7/2P4/2P4/7/2L4 b 25
Figure 30: Initial and next positions after the move c6c4
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z
0o
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z
0o
0Z
0Z0
Z0
0Z
0ZP
Z0
Zp
Z
Z0
Z0O pZ0 Z0Z
0Z o0 0Z
Zp
Z
Z0
Z0Z pZ0 Z0Z
0Z o0 0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) 7/1p4Z/4l1p/1z5/Ep2P2/Eep2p1/4L2 w (b) 7/1p4Z/4l1p/1z2P2/Ep5/Eep2p1/4L2 b
10 10
Figure 31: Initial and next positions after the move e3e4
Z0 pZ Z0
Z0Z
0Z
Z Z
0Z
Z0
0o
7
6
5
4
3
2
1
Z0 pZ Z0
Z0Z
0Z
Z Z
0Z
Z0
0o
0Z
0Z0
Z0
0Z
PZ0
Z0
OP
0Z
Z0
Z0Z
Z0 Z0Z
0Z
Z0
0Z
O0
0Z
Z0
Z0Z
Z0 Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/p3e2/3l2p/7/PP5/2LE3/7 w 1 (b)7/p3e2/3l2p/2P4/P6/2LE3/7 b 1
Figure 32: Initial and next positions after the move b3c4
Z0
0Z
Z0
Z0Z pZP
Z Z
0Z
Zp
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
ZPZ pZ0
Z Z
0Z
Zp
0Z
0Z
pZ0
Z0
0Z
pZ0
Z0
Z0
0Z
Z0
Zo pZ0 Z0Z
pZ Z
0Z
Z0
0Z
Z0
Zo pZ0 Z0Z
pZ Z
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/2p1P1p/3l3/2p4/3Eppz/2pL2E/7 w 19 (b)3P3/2p3p/3l3/2p4/3Eppz/2pL2E/7 b 19
Figure 33: Initial and next positions after the move e6d7
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
ZPZ
0Z
Z0
0Z
0Z
0O0
Z0
0Z
0Z0
Z0
Z0 pZ Z0
Z0Z
Z0
Z0Z
0o
Z0
0Z
Z0 pZ Z0
Z0Z
Z0
Z0Z
0o
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/7/3l3/3P3/e5p/p1L4/7 w 48 (b)7/7/3P3/7/e5p/p1L4/7 b 48
Figure 34: Initial and next positions after the move d4d5
Z0
0Z
Z0
Z0Z
0Z0
O0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/3l3/2P4/7/2L4/7/7 w 45 (b)7/3P3/7/7/2L4/7/7 b 45
Figure 35: Initial and next positions after the move c5d6
Z0
0o
ZP
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
PZ0
Z0Z
0Z
Z0
0Z
PZ
0o0
Z0
0Z
0o0
Z0
Z0
0Z
Z0
Z0Z
0Z
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/1pl4/1P2E2/P2p3/7/4L2/7 w 39 (b)7/1pP4/4E2/3p3/7/4L2/7 b 39
Figure 36: Initial and next positions after the move b5c6
Z0
0Z
Z0
Z Z pZp Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z Z pZp Z0Z
0Z
Z0
0Z
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0o
0Z0
Z0Z
0Z
Z
0Z
Z0
0Z
Z0
Z0Z
0o0
Z0Z
0Z
Z
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)e2le2/1Ep1p2/7/4p2/4p2/3L2Z/7 b 8 (b)e2le2/1Ep1p2/7/7/7/3p2Z/7 w 9
Figure 37: Initial and next positions after the move e3d2
Z0
Z0Z
0Z
0Z
0Z0
Z0
O0
Z Z
0Z
0Z
0o0
O0
Z0
Z0Z
0Z
PZ
Pop
ZP
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0Z0
Z0
O0
Z Z
0Z
0Z
0Z0
O0
Z0
o0Z
0Z
PZ
Pop
ZP
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) 6e/7/P2l3/3p1P1/Z1L4/P1Ppp1P/4z2 b
(b)6e/7/P2l3/5P1/Z1p4/P1Ppp1P/4z2 w 18
17
Figure 38: Initial and next positions after the move d4c3
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
0Z Z0
Z0Z
Z0
Z0Z
0o
Z0
0Z
Z0
0Z Z0
Z0Z pZ0 Z0Z
0o
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/7/4lp1/7/1p4p/2L4/E5e b 37 (b)7/7/4lp1/7/6p/2p4/E5e w 38
Figure 39: Initial and next positions after the move b3c2
Z0
Z
Z0
Z0Z
PZ
Z0Z
0Z
Z0
PZ
7
6
5
4
3
2
1
Z0
Z
Z0
Z0Z
PZP
Z0Z
0Z
Z0
0Z
0Z
PZ0
Z0
0Z
0Z0
Z0
Zp pZ Z0
O0O
0Op Z0Z
0Z
ZP
0Z
Zp pZ Z0
O0O
0Op
Z0Z
0Z
ZP
0Z
1
a b c d e f g a b c d e f g
(a)7/e1P1l2/2E1eP1/2P4/1pP1P1Z/p2Pp1P/2L4(b) 7/e1P1P2/2E1e2/7/1pP1P1Z/p2Pp1P/2L4 w 37 b 37
Figure 40: Initial and next positions after the move f5e6
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
oZ
0Z0
Z Z
0Z
Z0
0Z
Z0
0Z
Z0
opZ 0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/7/4lp1/4p2/2pL3/7/3E3 b 48 (b)7/7/4lp1/7/2pp3/7/3E3 w 49
Figure 41: Initial and next positions after the move e4d3
Z0
0Z
ZP
Z0Z
0ZP Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
ZP
Z0O
0Z0
Z0Z
0Z
Z0
0Z
0Z
PZ0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
o0Z 0Z
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
o0Z 0Z
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/4P2/1PE4/2P4/e1p4/4L2/7 w 40 (b)4P2/7/1PE4/7/e1p4/4L2/7 b 40
Figure 42: Initial and next positions after the move e6e7
Z0
PZ
O0
Z0Z
0Z
ZpZ
0Z o0 0Z
7
6
5
4
3
2
1
Z0
PZ
O0
Z0Z
0Z
ZpZ
0Z o0 0Z
0O
0Z0
o0
0O
0Z0
Z0
Zp
0Z
Z0
ZpZ
0ZP
Z0Z
pZ Zp
0Z
Zp
0Z
Z0
Zpo
0ZP
Z0Z
pZ Zp
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/P2Zlp1/P2p3/1P3p1/1p1pLpz/4P1p/4e2 (b) 7/P2Zlp1/P2p3/1P5/1p1pppz/4P1p/4e2 b 9 w 10
Figure 43: Initial and next positions after the move f4e3
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
ZZ
Z0
Z0Z
PZ
O0
0Z
Z0
0Z
Z0
ZZ
Z0
Z0Z
PZ
O0
0Z
1
a b c d e f g a b c d e f g
(a)7/7/2El3/7/3e1P1/2L2P1/7 w 4 (b)7/7/3E3/7/3e1P1/2L2P1/7 b 4
Figure 44: Initial and next positions after the move c5d5
Z0 po Z0
Z0Z
Z
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0 po Z0
Z0Z
0Z
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0o
0Z0 Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0o
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/ppE1l2/7/5e1/4p2/7/2L4 w 18 (b)7/pp2E2/7/5e1/4p2/7/2L4 b 18
Figure 45: Initial and next positions after the move c6e6
Z0
0Z
Z0
Z0Z
0O
ZPZ
0Z
Z0
PZ
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O
ZPZ
0Z
Z0
PZ
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
Z
Z0
ZPZ
O0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
ZPZ
O0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/3Pl2/3P1P1/7/3P3/eELP3/6E b 40 (b)7/3Pl2/3P1P1/7/3P3/1EeP3/6E w 41
Figure 46: Initial and next positions after the move a2c2
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
ZP
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
ZP
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/3E3/3l3/7/1P2L2/7/7 w 8 (b)7/7/3E3/7/1P2L2/7/7 b 8
Figure 47: Initial and next positions after the move d6d5
Z0
0Z
Z0
ZZ
0Z
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
ZZ
0Z
Z0Z
0Z
Z0
0Z
0Z
0Z0
Zp
0Z
0Z0
Z0
Z0
0Z
Z0
Z Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)3E3/4l2/7/6p/2Le3/7/7 b 0 (b)3E3/4l2/7/7/2e4/7/7 w 1
Figure 48: Initial and next positions after the move d3c3
7
Z0
Z0Z
0Z
0Z
0Zp
Z
Zp
Z0Z
pZ
0Z
0Zp
Z0
o0
o0Z
0Z
Z
0Z
Zp
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0Zp
Z
Zp
Z0Z
pZ
0Z
0Z0
Z0
o0
o0Z
0Z
Z
0Z0
Zp
Z0
Z0Z
0Z
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
a b c d e f g
(a) 7/4p1z/Ep2lp1/4p2/p1p4/E3e1p/4L2 b
(b)7/4p1z/Ep2lp1/7/p1p4/E5p/4e2 w 49
48
Figure 49: Initial and next positions after the move e2e1
Z0
0O
Z0
Z0Z
0O
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0O
Z0
Z0Z
0O
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
0Z0
Z0Z
0o
ZP
0Z
Zp
0Z
Z0
Z0Z
0Z0
Z0Z
0o
ZP
0Z
1
a b c d e f g a b c d e f g
(a)4E2/1P1Pl2/7/7/1p2L1p/6P/7 w 27 (b)7/1P1PE2/7/7/1p2L1p/6P/7 b 27
Figure 50: Initial and next positions after the move e7e6
7
Z0
Z0Z
Z
pZ
0ZP
Z0
Zp
Z0Z
0Z
0Z
PZ0
Z0
Z0
Z0Z
Z
pZ
0Z
o0
Z0
Z0Z
0Z
Z0
Z0Z
Z
pZ
0ZP
Z0
Zp
Z0Z
0Z
0Z
PZ0
Z0
Z0
Z0Z
Z
pZ
0Z0
o0
Z0
Z0Z
0Z
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
a b c d e f g
(a) 4lz1/p3P2/1p5/2Pe3/4LE1/p3ep1/6E b
(b)4lz1/p3P2/1p5/2P4/4eE1/p4p1/6E w 23
22
Figure 51: Initial and next positions after the move e2e3
Z0
0Z
Z0
ZZ
ZP
Z0Z
Z
Zp
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
ZZ
ZP
Z0Z
Z
Zp
0Z
0Z
0Zp
Z0
0Z
0Zp
Z0
Z0
0Z
Z0
ZPZ
PO
Z0Z
0Z
ZP
0Z
Z0
0Z
Z0
ZPZ
PO
Z0Z
0Z
ZP
0Z
1
a b c d e f g a b c d e f g
(a) 3e1E1/1El1P1p/4e2/4p2/3P3/1ZPPL1P/7 (b) 3e1E1/2E1P1p/4e2/4p2/3P3/1ZPPL1P/7 w 26 b 26
Figure 52: Initial and next positions after the move b6c6
Z0
0Z
Z0
ZZ
0Zp
Z0Z
0Z
Z0
Po
7
6
5
4
3
2
1
Z0
0Z
Z0
ZZ
0Zp
Z0Z
0Z
Z0
Po
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
Z
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)3l3/4p2/5Pp/7/7/2L1e2/7 b 1 (b)3l3/4p2/5Pp/7/7/2e4/7 w 2
Figure 53: Initial and next positions after the move e2c2 so that one of these moves can actually be played. This means we must take in the initial position (as a FEN string), and the move to be executed. The program will then output the resulting board position once that move has been played (again as a FEN string).
2 Move Representations
For every submission, we will represent a move as a string <start_square><end_square> specifying the starting location of the piece to move and then square the piece ends up on. For example, the move e3e4 represents a piece moving from e3 to e4.
3 Executing Moves
Each move specifies the square that a piece moves from and the square it moves to. To update the board, we must simply remove the piece from its starting square and place it at the target square (if there is an opposing piece at that square, that piece is “captured” and so is removed from the board). There are three other considerations:
1. After a move has been played, the side to move switches. If Black moved, it is then White’s turn (and vice versa).
2. The move counter in the FEN string counts the number of moves made, but is only incremented after Black plays their turn.
3. One other consideration is that of drowning pieces. If a piece of the moving player begins in the river, and after the move is executed it remains in the river, then it too must be removed from the board.
4 Input Hint
Hint: a reminder not to be careful when mixing cin with getline. An example of doing so is below:
int N; cin >> N; cin.ignore(); //NB!
for (int i = 0; i < N; ++i) { string fen; getline(cin, fen);
}
1
2
3
4
5
6
7
Submission: Execute Moves
Write a C++ program that accepts a FEN string and a move to be executed and stores the piece location information in appropriate data structures. It should then output the FEN string of the position that results when the move is executed, as well as whether the game has been won by either side.
Input
The first line of input is N, the number of input positions given as FEN strings. 2N lines follow consisting of FEN strings and the move to be executed. You may assume that each FEN string is a valid position, and that the move to play is a valid one.
Output
For each FEN string and move, output two lines. The first line of output should be the resulting position as a FEN string. The second line should specify whether the game is over. If the game is not over, print Continue. If the move was made by White and resulted in it winning the game, output White wins. Otherwise if Black has just won, output Black wins.
Example Input-Output
Sample Input
3
2ele1z/ppppppp/7/7/7/PPP1PPP/2ELE1Z w 4 d1d2
1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b 35 f5f7
1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b 12 g4e4
Sample Output
2ele1z/ppppppp/7/7/7/PPPLPPP/2E1E1Z b 4
Continue
1z3e1/pPp1lP1/6p/4P2/4L1p/2p2pP/7 w 36
Continue
1z5/pPp1lP1/5ep/7/4L1p/2p2pP/7 w 13
Continue
Visualisation of Above Test Cases
Z0 po Z0
Z Z pop Z0Z
0Z op 0Z
7
6
5
4
3
2
1
Z0 po Z0
Z Z pop Z0Z
0Z op 0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
PO
Z0
Z0Z
PZP
Z Z
0Z
OP
0Z
Z0
PO
Z0
Z0Z
PZP Z0Z
0Z
OP
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) 2ele1z/ppppppp/7/7/7/PPP1PPP/2ELE1Z (b) 2ele1z/ppppppp/7/7/7/PPPLPPP/2E1E1Z w 4 b 4
Figure 1: Initial and next positions after the move d1d2. The White lion moves one square forward.
Z pO Z0
Z0Z pZ Z0Z
0Z
O0 o
7
6
5
4
3
2
1
Z pO Z0
Z0Z pZ Z0Z
Z
O0
0o
0Z
0ZP
Z
0Z
0ZP
Z0
Z0
0Z
Z0
Z0Z pZ0 Z0Z
0o oP 0Z
Z0
0Z
Z0
Z0Z pZ0 Z0Z
0o oP 0Z
1
a b c d e f g a b c d e f g
(a) 1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b (b) 1z3e1/pPp1lP1/6p/4P2/4L1p/2p2pP/7 w
35 36
Z
Z0Z
0Z
pO
pZ
O0
Z0
Z0Z
o
0Z
0ZP
Z
Z0
Z0Z
0o
0Z
pZ0
oP
Z0
Z0Z
0Z
Figure 2: Initial and next positions after the move f5f7. The Black elephant moves to f7, but the elephant in g4 drowns at the end of the move and is removed. The move count is incremented.
7
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
(a) 1z5/pPp1lP1/5ep/4P1e/4L1p/2p2pP/7 b
Z
Z0Z
0Z
pO
pZ
O0
Z0
Z0Z
o
0Z
0Z0
Z0
Z0
Z0Z
0o
0Z
pZ0
oP
Z0
Z0Z
0Z
a b c d e f g
(b)1z5/pPp1lP1/5ep/7/4L1p/2p2pP/7 w 13 35
Figure 3: Initial and next positions after the move g4e4. The Black elephant on g4 captures the White pawn on e4. However, it started and ended in the river (although on different squares) and so after moving, it too drowns and is removed from the board.
5 Generated Positions
Z0
Z Z
0Z
0O
0Z0
Z0
Z0
Z Z
0Z
0Z
0Z0
Z
Z0
Z Z
0Z
0O
0O0
Z0
Z
Z Z
0Z
Z0
Z Z
0Z
0O
0Z0
Z0
Z0
Z Z
0Z
0Z
0Z0
Z
Z0
Z0Z
0Z
0O
0O0
Z0
Z
Z Z
0Z
7
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
a b c d e f g
(a)2zl3/1P5/3E3/6e/e6/1P1P3/1E1LZ2 w 0
(b) 2zl3/1P5/3E3/6e/e2Z3/1P1P3/1E1L3 b
0
Figure 4: Initial and next positions after the move e1d3
Z0
0Z
OP
Z0Z
0Z
OpZ
0Z
Z
0Z
7
6
5
4
3
2
1
Z0
0Z
OP
Z0Z
0Z
OpZ
0Z
Z
0Z
0Z
0Z0
O0
0Z
0Z0
Z0
ZP
0Z
Z0
oZ
OP
Z0Z
0Z
Z0
0Z
ZP
0Z
Z0
o0Z
OP
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) 7/3zl1E/PPPp3/3e1P1/1PpZ3/2LPP2/4e2 (b) 7/3zl1E/PPPp3/3e3/1Pp4/2LPP2/2Z1e2 w 42 b 42
Figure 5: Initial and next positions after the move d3c1
Z0 pZ Z0
Z0Z o0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0 pZ Z0
Z Z o0
Z0Z
0Z
Z0
0Z
0Z
pZ0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
Zp
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/p1Ep3/4z2/2p4/1p5/2L4/7 b 4 (b)3zl2/p1Ep3/7/7/1p5/2L4/7 w 5
Figure 6: Initial and next positions after the move e5d7
Z0
O
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
O
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z
0Z
0Z0
Z0
ZP
0O
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
Z
ZP
0O
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/ePl4/7/6E/1P5/1P1L3/4eZ1 w 10 (b)7/ePl4/7/7/1P2Z2/1P1L3/4e2 b 10
Figure 7: Initial and next positions after the move f1e3
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z
0o
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0o
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
Z
Z0
Z0O pZ0 Z0Z
0Z o0 0Z
Zp
Z
Z0
Z0O pZ0 Z0Z
0Z o0 0Z
1
a b c d e f g a b c d e f g
(a) 7/1p4Z/4l1p/1z5/Ep2P2/Eep2p1/4L2 w (b) 4Z2/1p5/4l1p/1z5/Ep2P2/Eep2p1/4L2 b
10 10
Figure 8: Initial and next positions after the move g6e7
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
ZP
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
ZP
0Z
0Z
0ZP
Z0
0Z
ZP
Z0
Z0
0Z
Z0
O0Z
0Z0
Z0Z
0Z Z0
0Z
Z0
0Z
Z0
O0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)Z3l2/3P2P/7/4P2/2P1L2/3z3/7 b 9 (b)Z3l2/3P2P/7/2z1P2/2P1L2/7/7 w 10
Figure 9: Initial and next positions after the move d2c4
Z0
Z0Z
0Z
0Z
0oP
O0
Z0
Z Z
0O
pZ
0Z0
O0
Z0
Z0O
Z
0Z
pZ0
Z0
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0oP
O0
Z0
Z Z
0O
pZ
0Z0
Z0
Z0
Z0O
0Z
0Z
pZ0
Z0
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) 7/3pPP1/2zl2P/p4P1/4PZ1/2p4/2L4 w
(b)7/3pPP1/2zl2P/p6/4P2/2pZ3/2L4 b 17
17
Figure 10: Initial and next positions after the move f3d2
Z0
0Z
ZP
Z0Z
0O0
O Z
0Z
Z0
0O
7
6
5
4
3
2
1
Z0
0Z
ZP
Z0Z
0O0
O Z
0Z
Z0
0O
0Z
Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0O
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0O
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/1E1P3/1PPl2P/2Z4/2L3P/7/7 w 27 (b)7/1E1P3/1PPl2P/7/2L3P/1Z5/7 b 27
Figure 11: Initial and next positions after the move c4b2
Z0
0Z
Z0
Z0Z
O o0Z
0Z o0 0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
O o0Z
0Z o0 0Z
0Z
Z0
o0
0Z
0Z0
o0
Z0
Z Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
Z0
0Z Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/2ePlp1/2p4/2E2p1/7/Z6/z1L4 w 5 (b)7/2ePlp1/2p4/5p1/2Z4/7/z1L4 b 5
Figure 12: Initial and next positions after the move a2c3
Z0
0O
Zp
Z0Z
ZP ZpZ
0Z Zp
0o
7
6
5
4
3
2
1
Z0
0O
Zp
Z0Z
ZP
ZpZ
0Z
Zp
0o
0Z
0ZP
Zp
0Z
Z0
Zp
Z0
0Z
Z0
Z0O
0Z0 Z0Z
0Z o0 0Z
Z0
0Z
Z0
Z0O
0Z0
Z0Z
0Z o0 0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) z6/1PlZP1p/1p1p2p/4P1p/4P2/5p1/2L4 (b) z6/1Pl1P1p/1p1p2p/2Z3p/4P2/5p1/2L4 w 39 b 39
Figure 13: Initial and next positions after the move d6c4
Z0
0o
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
0Z
Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/1p5/3l3/2E4/7/3L3/7 w 10 (b)7/1p5/3L3/7/7/7/7 b 10
Figure 14: Initial and next positions after the move d2d5
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)4e1z/3l3/7/4p2/7/3L3/4Z2 b 9 (b)4e1z/7/7/7/7/3l3/4Z2 w 10
Figure 15: Initial and next positions after the move d6d2
Z0
Z0Z
0Z
pZ
0Z0
Z0
Z0
Z Z
0Z
pZ
0Z0
O0
Zp
O Z
po
0Z
pZp
Z0
Z0
Z0Z
0Z
Z0
Z0Z
0Z
pZ
0Z0
Z0
Z0
Z0Z
0Z
0Z
0Z0
O0
Zp
O Z
po
0Z
pZp
Z0
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) 7/p6/2ElZ2/p4P1/EpPL1pp/2p1p2/7 b
(b)7/p6/2E1Z2/5P1/EpPl1pp/2p1p2/7 w 28
27
Figure 16: Initial and next positions after the move d5d3
Z0
Z
Z
ZZ
0Z0 Z0Z
0Z oP 0Z
7
6
5
4
3
2
1
Z0
Z
Z
ZZ
0Z0
Z0Z
0Z oP 0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0 pZ Z0
ZPZ
0ZP Z0Z
0Z
Z0
0Z
Z0 pZ Z0
ZPZ
0ZP Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)3E3/ze3pP/1El4/7/3P3/p2eP2/2L4 b 32 (b)3E3/ze3pP/1E5/7/3P3/p2eP2/2l4 w 33
Figure 17: Initial and next positions after the move c5c1
Z0 pZ Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0o
7
6
5
4
3
2
1
Z0 pZ Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0o
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0 Z0Z
0Z o0 0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z o0 0Z
1
a b c d e f g a b c d e f g
(a)7/p6/2l3p/7/7/5p1/2L4 w 4 (b)7/p6/2L3p/7/7/5p1/7 b 4
Figure 18: Initial and next positions after the move c1c5
Z0
0O
Z0
Z0Z
0Z0
Z0Z
0Z Zp pZ
7
6
5
4
3
2
1
Z0
0O
Z0
Z0Z
0Z0 Z0Z
0Z Zp pZ
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
0Z0
Z Z
0Z
O0
0Z
Zp
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
O0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/1P1l2p/5p1/7/Ep5/5P1/3L3 w 1 (b)7/1P1L2p/5p1/7/Ep5/5P1/7 b 1
Figure 19: Initial and next positions after the move d1d6
Z0
Z0Z
0Z
0Z
0Zp
O0
Z
Z0Z
PZ
pZ
0Z0
Z0
Z0
Z0Z
0Z
0Z
PZ0
O0
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0Zp
O0
Z
Z0Z
PZ
0Z
0Z0
Z0
Z0
Z0Z
0Z
0Z
PZ0
O0
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) E5z/3ZpP1/1E2lP1/p6/4L2/1eP2P1/7 b
(b)E5z/3ZpP1/1E3P1/7/4l2/1eP2P1/7 w 31
30
Figure 20: Initial and next positions after the move e5e3
Z0
0Z
Z0
Z0Z
0O0 Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
Z0
0Z
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0 0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0 0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/3P3/2l4/4p2/2L4/5e1/7 b 49 (b)7/3P3/7/7/2l4/5e1/7 w 50
Figure 21: Initial and next positions after the move c5c3
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
ZP
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
ZP
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/6P/7/7/7/7/4L2 w 18 (b)4L2/6P/7/7/7/7/7 b 18
Figure 22: Initial and next positions after the move e1e7
Z0
0Z
Z0
Z0Z
0Z0
Z0o
0Z
Z
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0 Z0o
0Z
Z
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
ZZ
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)e6/3l2E/4p2/7/3L3/7/7 w 1 (b)e6/3L2E/4p2/7/7/7/7 b 1
Figure 23: Initial and next positions after the move d3d6
Z0
0Z
Z0
Z0Z pZ0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z pZ0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
ZP
Z Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
Z0
Z Z
PZ
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/2p4/3l3/7/2L4/2E1P2/3e3 w 25 (b)7/2p4/3l3/7/2L2P1/2E4/3e3 b 25
Figure 24: Initial and next positions after the move e2f3
Z0
0O
Z0
Z Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
ZP
Z Z
0Z0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z
0Z
0Z0
Z
Z0
0O
Z
Z0Z
0O0
Z Z
0Z
Z0
0Z
Z0
0O
Z
Z0Z
0O0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)2zl3/1P5/3E3/6e/e6/1P1P3/1E1LZ2 w 0 (b)2zl3/7/1P1E3/6e/e6/1P1P3/1E1LZ2 b 0
Figure 25: Initial and next positions after the move b6b5
Z0
0Z
OP
Z0Z
0Z
OpZ
0Z
Z
0Z
7
6
5
4
3
2
1
Z0
0Z
OP
Z0Z
0Z
ZpZ
0Z
Z
0Z
0Z
0Z0
O0
0Z
PZ0
Z0
ZP
0Z
Z0
oZ
OP
Z0Z
0Z
Z0
0Z
ZP
0Z
Z0
oZ
OP
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a) 7/3zl1E/PPPp3/3e1P1/1PpZ3/2LPP2/4e2 (b) 7/3zl1E/PP1p3/2Pe3/1PpZ3/2LPP2/4e2 w 42 b 42
Figure 26: Initial and next positions after the move c5c4
Z0 pZ Z0
Z0Z o0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0 pZ Zp
Z0Z o0
Z0Z
0Z
Z0
0Z
0Z
pZ0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)4l2/p1Ep3/4z2/2p4/1p5/2L4/7 b 4 (b)4l2/p1Ep3/1p2z2/7/7/2L4/7 w 5
Figure 27: Initial and next positions after the move b3b5
Z0
0Z
Z0
Z0Z
0ZP
Z0Z
0Z
Z0
0o
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0ZP
Z0Z
0Z
Z0
0Z
0Z
0o0
Z0
0Z
0Z0
Zp
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0o
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0o
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/4P2/6p/3p3/e5p/7/4L2 b 2 (b)4l2/4P2/7/6p/e5p/7/4L2 w 3
Figure 28: Initial and next positions after the move g5g4
Z0
O
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
Z
Z0
O0Z
Z0
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z
0Z
0Z0
Z0
ZP
0O
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
Z
ZP
0O
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/ePl4/7/6E/1P5/1P1L3/4eZ1 w 10 (b)2P4/e1l4/7/7/1P5/1P1L3/4eZ1 b 10
Figure 29: Initial and next positions after the move b6c7
Z0
0O
Z0
Z0Z
PZ0
Z0Z
0Z Z0
0Z
7
6
5
4
3
2
1
Z0
0O
Z0
Z0Z
0Z0 Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
PZ0
Z0
Z0
0Z
Z0
O0Z
0Z0 Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
O0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)2E4/1PPl3/7/7/2P4/7/2L4 w 25 (b)2E4/1P1l3/7/2P4/2P4/7/2L4 b 25
Figure 30: Initial and next positions after the move c6c4
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z
0o
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
0Z0
Z0Z
0Z
Z
0o
0Z
0Z0
Z0
0Z
0ZP
Z0
Zp
Z
Z0
Z0O pZ0 Z0Z
0Z o0 0Z
Zp
Z
Z0
Z0Z pZ0 Z0Z
0Z o0 0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a) 7/1p4Z/4l1p/1z5/Ep2P2/Eep2p1/4L2 w (b) 7/1p4Z/4l1p/1z2P2/Ep5/Eep2p1/4L2 b
10 10
Figure 31: Initial and next positions after the move e3e4
Z0 pZ Z0
Z0Z
0Z
Z Z
0Z
Z0
0o
7
6
5
4
3
2
1
Z0 pZ Z0
Z0Z
0Z
Z Z
0Z
Z0
0o
0Z
0Z0
Z0
0Z
PZ0
Z0
OP
0Z
Z0
Z0Z
Z0 Z0Z
0Z
Z0
0Z
O0
0Z
Z0
Z0Z
Z0 Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/p3e2/3l2p/7/PP5/2LE3/7 w 1 (b)7/p3e2/3l2p/2P4/P6/2LE3/7 b 1
Figure 32: Initial and next positions after the move b3c4
Z0
0Z
Z0
Z0Z pZP
Z Z
0Z
Zp
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
ZPZ pZ0
Z Z
0Z
Zp
0Z
0Z
pZ0
Z0
0Z
pZ0
Z0
Z0
0Z
Z0
Zo pZ0 Z0Z
pZ Z
0Z
Z0
0Z
Z0
Zo pZ0 Z0Z
pZ Z
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/2p1P1p/3l3/2p4/3Eppz/2pL2E/7 w 19 (b)3P3/2p3p/3l3/2p4/3Eppz/2pL2E/7 b 19
Figure 33: Initial and next positions after the move e6d7
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
ZPZ
0Z
Z0
0Z
0Z
0O0
Z0
0Z
0Z0
Z0
Z0 pZ Z0
Z0Z
Z0
Z0Z
0o
Z0
0Z
Z0 pZ Z0
Z0Z
Z0
Z0Z
0o
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/7/3l3/3P3/e5p/p1L4/7 w 48 (b)7/7/3P3/7/e5p/p1L4/7 b 48
Figure 34: Initial and next positions after the move d4d5
Z0
0Z
Z0
Z0Z
0Z0
O0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O0
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/3l3/2P4/7/2L4/7/7 w 45 (b)7/3P3/7/7/2L4/7/7 b 45
Figure 35: Initial and next positions after the move c5d6
Z0
0o
ZP
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0o
Z0
Z0Z
PZ0
Z0Z
0Z
Z0
0Z
PZ
0o0
Z0
0Z
0o0
Z0
Z0
0Z
Z0
Z0Z
0Z
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/1pl4/1P2E2/P2p3/7/4L2/7 w 39 (b)7/1pP4/4E2/3p3/7/4L2/7 b 39
Figure 36: Initial and next positions after the move b5c6
Z0
0Z
Z0
Z Z pZp Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z Z pZp Z0Z
0Z
Z0
0Z
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0o
0Z0
Z0Z
0Z
Z
0Z
Z0
0Z
Z0
Z0Z
0o0
Z0Z
0Z
Z
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)e2le2/1Ep1p2/7/4p2/4p2/3L2Z/7 b 8 (b)e2le2/1Ep1p2/7/7/7/3p2Z/7 w 9
Figure 37: Initial and next positions after the move e3d2
Z0
Z0Z
0Z
0Z
0Z0
Z0
O0
Z Z
0Z
0Z
0o0
O0
Z0
Z0Z
0Z
PZ
Pop
ZP
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0Z0
Z0
O0
Z Z
0Z
0Z
0Z0
O0
Z0
o0Z
0Z
PZ
Pop
ZP
Z0
Z0Z
0Z
7
6
5
4
3
2
1 1
a b c d e f g
a b c d e f g
(a) 6e/7/P2l3/3p1P1/Z1L4/P1Ppp1P/4z2 b
(b)6e/7/P2l3/5P1/Z1p4/P1Ppp1P/4z2 w 18
17
Figure 38: Initial and next positions after the move d4c3
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
0Z Z0
Z0Z
Z0
Z0Z
0o
Z0
0Z
Z0
0Z Z0
Z0Z pZ0 Z0Z
0o
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/7/4lp1/7/1p4p/2L4/E5e b 37 (b)7/7/4lp1/7/6p/2p4/E5e w 38
Figure 39: Initial and next positions after the move b3c2
Z0
Z
Z0
Z0Z
PZ
Z0Z
0Z
Z0
PZ
7
6
5
4
3
2
1
Z0
Z
Z0
Z0Z
PZP
Z0Z
0Z
Z0
0Z
0Z
PZ0
Z0
0Z
0Z0
Z0
Zp pZ Z0
O0O
0Op Z0Z
0Z
ZP
0Z
Zp pZ Z0
O0O
0Op
Z0Z
0Z
ZP
0Z
1
a b c d e f g a b c d e f g
(a)7/e1P1l2/2E1eP1/2P4/1pP1P1Z/p2Pp1P/2L4(b) 7/e1P1P2/2E1e2/7/1pP1P1Z/p2Pp1P/2L4 w 37 b 37
Figure 40: Initial and next positions after the move f5e6
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z Z0 pZ
0Z
0Zp
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
oZ
0Z0
Z Z
0Z
Z0
0Z
Z0
0Z
Z0
opZ 0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/7/4lp1/4p2/2pL3/7/3E3 b 48 (b)7/7/4lp1/7/2pp3/7/3E3 w 49
Figure 41: Initial and next positions after the move e4d3
Z0
0Z
ZP
Z0Z
0ZP Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
ZP
Z0O
0Z0
Z0Z
0Z
Z0
0Z
0Z
PZ0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
o0Z 0Z
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
o0Z 0Z
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)4l2/4P2/1PE4/2P4/e1p4/4L2/7 w 40 (b)4P2/7/1PE4/7/e1p4/4L2/7 b 40
Figure 42: Initial and next positions after the move e6e7
Z0
PZ
O0
Z0Z
0Z
ZpZ
0Z o0 0Z
7
6
5
4
3
2
1
Z0
PZ
O0
Z0Z
0Z
ZpZ
0Z o0 0Z
0O
0Z0
o0
0O
0Z0
Z0
Zp
0Z
Z0
ZpZ
0ZP
Z0Z
pZ Zp
0Z
Zp
0Z
Z0
Zpo
0ZP
Z0Z
pZ Zp
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/P2Zlp1/P2p3/1P3p1/1p1pLpz/4P1p/4e2 (b) 7/P2Zlp1/P2p3/1P5/1p1pppz/4P1p/4e2 b 9 w 10
Figure 43: Initial and next positions after the move f4e3
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
ZZ
Z0
Z0Z
PZ
O0
0Z
Z0
0Z
Z0
ZZ
Z0
Z0Z
PZ
O0
0Z
1
a b c d e f g a b c d e f g
(a)7/7/2El3/7/3e1P1/2L2P1/7 w 4 (b)7/7/3E3/7/3e1P1/2L2P1/7 b 4
Figure 44: Initial and next positions after the move c5d5
Z0 po Z0
Z0Z
Z
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0 po Z0
Z0Z
0Z
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0o
0Z0 Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0o
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/ppE1l2/7/5e1/4p2/7/2L4 w 18 (b)7/pp2E2/7/5e1/4p2/7/2L4 b 18
Figure 45: Initial and next positions after the move c6e6
Z0
0Z
Z0
Z0Z
0O
ZPZ
0Z
Z0
PZ
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0O
ZPZ
0Z
Z0
PZ
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
Z
Z0
ZPZ
O0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
ZPZ
O0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)7/3Pl2/3P1P1/7/3P3/eELP3/6E b 40 (b)7/3Pl2/3P1P1/7/3P3/1EeP3/6E w 41
Figure 46: Initial and next positions after the move a2c2
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
Z0Z
0Z0
Z Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
ZP
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
ZP
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)7/3E3/3l3/7/1P2L2/7/7 w 8 (b)7/7/3E3/7/1P2L2/7/7 b 8
Figure 47: Initial and next positions after the move d6d5
Z0
0Z
Z0
ZZ
0Z
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
ZZ
0Z
Z0Z
0Z
Z0
0Z
0Z
0Z0
Zp
0Z
0Z0
Z0
Z0
0Z
Z0
Z Z
0Z0
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
0Z0
Z0Z
0Z
Z0
0Z
1
a b c d e f g a b c d e f g
(a)3E3/4l2/7/6p/2Le3/7/7 b 0 (b)3E3/4l2/7/7/2e4/7/7 w 1
Figure 48: Initial and next positions after the move d3c3
7
Z0
Z0Z
0Z
0Z
0Zp
Z
Zp
Z0Z
pZ
0Z
0Zp
Z0
o0
o0Z
0Z
Z
0Z
Zp
Z0
Z0Z
0Z
Z0
Z0Z
0Z
0Z
0Zp
Z
Zp
Z0Z
pZ
0Z
0Z0
Z0
o0
o0Z
0Z
Z
0Z0
Zp
Z0
Z0Z
0Z
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
a b c d e f g
(a) 7/4p1z/Ep2lp1/4p2/p1p4/E3e1p/4L2 b
(b)7/4p1z/Ep2lp1/7/p1p4/E5p/4e2 w 49
48
Figure 49: Initial and next positions after the move e2e1
Z0
0O
Z0
Z0Z
0O
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
Z0
0O
Z0
Z0Z
0O
Z0Z
0Z
Z0
0Z
0Z
0Z0
Z0
0Z
0Z0
Z0
Zp
0Z
Z0
Z0Z
0Z0
Z0Z
0o
ZP
0Z
Zp
0Z
Z0
Z0Z
0Z0
Z0Z
0o
ZP
0Z
1
a b c d e f g a b c d e f g
(a)4E2/1P1Pl2/7/7/1p2L1p/6P/7 w 27 (b)7/1P1PE2/7/7/1p2L1p/6P/7 b 27
Figure 50: Initial and next positions after the move e7e6
7
Z0
Z0Z
Z
pZ
0ZP
Z0
Zp
Z0Z
0Z
0Z
PZ0
Z0
Z0
Z0Z
Z
pZ
0Z
o0
Z0
Z0Z
0Z
Z0
Z0Z
Z
pZ
0ZP
Z0
Zp
Z0Z
0Z
0Z
PZ0
Z0
Z0
Z0Z
Z
pZ
0Z0
o0
Z0
Z0Z
0Z
7
6
6
5
5
4
4
3
3
2
2
1 1
a b c d e f g
a b c d e f g
(a) 4lz1/p3P2/1p5/2Pe3/4LE1/p3ep1/6E b
(b)4lz1/p3P2/1p5/2P4/4eE1/p4p1/6E w 23
22
Figure 51: Initial and next positions after the move e2e3
Z0
0Z
Z0
ZZ
ZP
Z0Z
Z
Zp
0Z
7
6
5
4
3
2
1
Z0
0Z
Z0
ZZ
ZP
Z0Z
Z
Zp
0Z
0Z
0Zp
Z0
0Z
0Zp
Z0
Z0
0Z
Z0
ZPZ
PO
Z0Z
0Z
ZP
0Z
Z0
0Z
Z0
ZPZ
PO
Z0Z
0Z
ZP
0Z
1
a b c d e f g a b c d e f g
(a) 3e1E1/1El1P1p/4e2/4p2/3P3/1ZPPL1P/7 (b) 3e1E1/2E1P1p/4e2/4p2/3P3/1ZPPL1P/7 w 26 b 26
Figure 52: Initial and next positions after the move b6c6
Z0
0Z
Z0
ZZ
0Zp
Z0Z
0Z
Z0
Po
7
6
5
4
3
2
1
Z0
0Z
Z0
ZZ
0Zp
Z0Z
0Z
Z0
Po
0Z
0Z0
Z0
0Z
0Z0
Z0
Z0
0Z
Z0
Z0Z
Z
Z0Z
0Z
Z0
0Z
Z0
0Z
Z0
Z0Z
Z0
Z0Z
0Z
Z0
0Z
7
6
5
4
3
2
1
a b c d e f g a b c d e f g
(a)3l3/4p2/5Pp/7/7/2L1e2/7 b 1 (b)3l3/4p2/5Pp/7/7/2e4/7 w 2
Figure 53: Initial and next positions after the move e2c2