I dont find any good blog posting describing the solution or may be i missed. Can any one help?
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
Name |
---|
1. a1<a2.
2. a1-a2>1.
3. a1-a2=1, but the second player already won.
4. a1-a2=0, but the first player already won.
5. Both first and second player already won.
The check, if the player has won, is quite straightforward, we consider that he won, if some horizontal, vertical, or diagonal is filled completely by this player. So, if the state is not illegal, you perform this check for both players. If someone wins, we are done.
Finally, if nothing of the previous was true, check if a1+a2=9. In that case we have a draw. If a1-a2=0, it's the first player turn, and the second player turn otherwise.