IPSC Logo

Internet Problem Solving Contest

IPSC 2015

Problem C – Chess Pieces

Yes, we do have an actual chess problem this year. In both subproblems we consider a standard chess game. The game is played:

Problem specification

At the beginning of a chess game there are at most 8 pieces of each type on the board. For example, there are 8 white pawns, 8 black pawns, 2 white rooks, and only 1 black queen. In the easy subproblem C1 we want you to produce any valid sequence of chess moves that will lead to a board that contains more than 8 pieces of any specific type.

At the beginning of a chess game there are 4 rooks on the chessboard: two white and two black ones. In the hard subproblem C2 we want you to produce any valid sequence of chess moves that will lead to a board that contains the largest possible total number of rooks.

Input specification

There is no input.

Output specification

Output a valid plain text (7-bit ASCII) file containing a sequence of alternating white’s and black’s halfmoves in PGN notation. Any sequence of moves will be accepted as long as the final configuration has the desired property. More technical details are given at the end of this problem statement.

Example output

1. a4 b5    2. axb5 Nc6    3. b6 Nf6    4. b7 Nd5    5. bxa8=N Ndb4    6. f3 g6
7. g4 Bh6    8. Bh3 Nd3+    9. Kf1 O-O    10. Kg2

This is not a valid solution to any subproblem. It is just an arbitrary sequence of moves. The example has valid syntax that can be correctly parsed. Note that in turn 5 the white pawn got promoted to a knight instead of a queen.

Technical details

Your submissions will be parsed with the chess.pgn.read_game method of the python-chess library, version 0.8.1. Hence, we expect you to submit the record of a game in a valid PGN notation. The library should be pretty tolerant – it should be able to parse anything valid, including comments, headers, NAGs and games with multiple variations (i.e., branches of play). Still, we recommend that you just submit a plain ASCII log that is as simple as possible. The example above probably contains all the notation you’ll need to use.

In particular, if the notation of your game contains variations, we give you no guarantee about which branch we will choose to evaluate.