#include<stdio.h>
int main(){
int n, m;
int a[10][257][257]; // 從 [1][1] 開始用,保留 [0][0] 判斷是否贏
int i, j, k;
int winnerprinted = 0;
// 輸入每位玩家的賓果盤
for(i = 0; i < n; i++)
for(j = 1; j <= m; j++)
for(k = 1; k <= m; k++)
scanf("%d", &a
[i
][j
][k
]);
int number;
while(scanf("%d", &number
) != EOF
&& winnerprinted
== 0){ // 將該號碼標記為 0(表示被喊過)
for(i = 0; i < n; i++)
for(j = 1; j <= m; j++)
for(k = 1; k <= m; k++)
if(a[i][j][k] == number)
a[i][j][k] = 0;
// 檢查每位玩家是否勝出
for(i = 0; i < n; i++) {
if(a[i][0][0] == 1) continue; // 已贏過的玩家跳過
int bingo = 0, test;
// 檢查橫列
for(j = 1; j <= m && ! a[i][0][0] ; j++) {
test = 0;
for(k = 1; k <= m; k++)
if(a[i][j][k] == 0) test++;
if(test == m) a[i][0][0] = 1;
}
// 檢查直行
for(j = 1; j <= m && ! a[i][0][0] ; j++) {
test = 0;
for(k = 1; k <= m; k++)
if(a[i][k][j] == 0) test++;
if(test == m) a[i][0][0] = 1;
}
// 檢查正對角線
test = 0;
for(j = 1; j <= m; j++)
if(a[i][j][j] == 0) test++;
if(test == m) a[i][0][0] = 1;
// 檢查反對角線
test = 0;
for(j = 1; j <= m; j++)
if(a[i][j][m - j + 1] == 0) test++;
if(test == m) a[i][0][0] = 1;
// 表示該玩家勝出
}
// 判斷是否有人勝出,若有則印出並結束
int hasWinner = 0;
for(i = 0; i < n; i++)
if(a[i][0][0] == 1)
hasWinner = 1;
if(hasWinner) {
for(i = 0; i < n; i++)
if(a[i][0][0] == 1)
winnerprinted = 1;
}
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBtYWluKCl7CiAgICBpbnQgbiwgbTsKICAgIHNjYW5mKCIlZCVkIiwgJm4sICZtKTsKICAgIAogICAgaW50IGFbMTBdWzI1N11bMjU3XTsgIC8vIOW+niBbMV1bMV0g6ZaL5aeL55So77yM5L+d55WZIFswXVswXSDliKTmlrfmmK/lkKbotI8KICAgIGludCBpLCBqLCBrOwogICAgaW50IHdpbm5lcnByaW50ZWQgPSAwOwoKICAgIC8vIOi8uOWFpeavj+S9jeeOqeWutueahOizk+aenOebpAogICAgZm9yKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIGZvcihqID0gMTsgaiA8PSBtOyBqKyspCiAgICAgICAgICAgIGZvcihrID0gMTsgayA8PSBtOyBrKyspCiAgICAgICAgICAgICAgICBzY2FuZigiJWQiLCAmYVtpXVtqXVtrXSk7CgogICAgaW50IG51bWJlcjsKICAgIHdoaWxlKHNjYW5mKCIlZCIsICZudW1iZXIpICE9IEVPRiAmJiB3aW5uZXJwcmludGVkID09IDApewogICAgICAgIC8vIOWwh+ipsuiZn+eivOaomeiomOeCuiAw77yI6KGo56S66KKr5ZaK6YGO77yJCiAgICAgICAgZm9yKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgICAgICBmb3IoaiA9IDE7IGogPD0gbTsgaisrKQogICAgICAgICAgICAgICAgZm9yKGsgPSAxOyBrIDw9IG07IGsrKykKICAgICAgICAgICAgICAgICAgICBpZihhW2ldW2pdW2tdID09IG51bWJlcikKICAgICAgICAgICAgICAgICAgICAgICAgYVtpXVtqXVtrXSA9IDA7CgogICAgICAgIC8vIOaqouafpeavj+S9jeeOqeWutuaYr+WQpuWLneWHugogICAgICAgIGZvcihpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBpZihhW2ldWzBdWzBdID09IDEpIGNvbnRpbnVlOyAgLy8g5bey6LSP6YGO55qE546p5a626Lez6YGOCgogICAgICAgICAgICBpbnQgYmluZ28gPSAwLCB0ZXN0OwoKICAgICAgICAgICAgLy8g5qqi5p+l5qmr5YiXCiAgICAgICAgICAgIGZvcihqID0gMTsgaiA8PSBtICYmICEgYVtpXVswXVswXSA7IGorKykgewogICAgICAgICAgICAgICAgdGVzdCA9IDA7CiAgICAgICAgICAgICAgICBmb3IoayA9IDE7IGsgPD0gbTsgaysrKQogICAgICAgICAgICAgICAgICAgIGlmKGFbaV1bal1ba10gPT0gMCkgdGVzdCsrOwogICAgICAgICAgICAgICAgaWYodGVzdCA9PSBtKSAgYVtpXVswXVswXSA9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIOaqouafpeebtOihjAogICAgICAgICAgICBmb3IoaiA9IDE7IGogPD0gbSAmJiAhIGFbaV1bMF1bMF0gOyBqKyspIHsKICAgICAgICAgICAgICAgIHRlc3QgPSAwOwogICAgICAgICAgICAgICAgZm9yKGsgPSAxOyBrIDw9IG07IGsrKykKICAgICAgICAgICAgICAgICAgICBpZihhW2ldW2tdW2pdID09IDApIHRlc3QrKzsKICAgICAgICAgICAgICAgIGlmKHRlc3QgPT0gbSkgIGFbaV1bMF1bMF0gPSAxOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyDmqqLmn6XmraPlsI3op5Lnt5oKICAgICAgICAgICAgdGVzdCA9IDA7CiAgICAgICAgICAgIGZvcihqID0gMTsgaiA8PSBtOyBqKyspCiAgICAgICAgICAgICAgICBpZihhW2ldW2pdW2pdID09IDApIHRlc3QrKzsKICAgICAgICAgICAgaWYodGVzdCA9PSBtKSAgYVtpXVswXVswXSA9IDE7CgogICAgICAgICAgICAvLyDmqqLmn6Xlj43lsI3op5Lnt5oKICAgICAgICAgICAgdGVzdCA9IDA7CiAgICAgICAgICAgIGZvcihqID0gMTsgaiA8PSBtOyBqKyspCiAgICAgICAgICAgICAgICBpZihhW2ldW2pdW20gLSBqICsgMV0gPT0gMCkgdGVzdCsrOwogICAgICAgICAgICBpZih0ZXN0ID09IG0pICBhW2ldWzBdWzBdID0gMTsKCiAgICAgICAgICAgIC8vIOihqOekuuipsueOqeWutuWLneWHugogICAgICAgIH0KCiAgICAgICAgLy8g5Yik5pa35piv5ZCm5pyJ5Lq65Yud5Ye677yM6Iul5pyJ5YmH5Y2w5Ye65Lim57WQ5p2fCiAgICAgICAgaW50IGhhc1dpbm5lciA9IDA7CiAgICAgICAgZm9yKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgICAgICBpZihhW2ldWzBdWzBdID09IDEpCiAgICAgICAgICAgICAgICBoYXNXaW5uZXIgPSAxOwoKICAgICAgICBpZihoYXNXaW5uZXIpIHsKICAgICAgICAgICAgcHJpbnRmKCIlZCIsIG51bWJlcik7CiAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IG47IGkrKykKICAgICAgICAgICAgICAgIGlmKGFbaV1bMF1bMF0gPT0gMSkKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiAlZCIsIGkpOwogICAgICAgICAgICBwcmludGYoIlxuIik7CiAgICAgICAgICAgIHdpbm5lcnByaW50ZWQgPSAxOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
NCA4CjYxIDE3IDI5IDYgNDkgNTUgMjggNDUKNyAzMiAyNiAyNyAxNiA1MyA1MCA0NAoyMCA0NiAzMSA1IDU3IDM5IDYyIDE1CjU0IDQwIDQyIDI1IDExIDEwIDIzIDQKMiAxMiAzOCA5IDM2IDU5IDM3IDQ4CjE0IDYzIDEgNTggMzMgNTIgNTEgMzUKMTkgMjQgMTggMjIgOCA0NyAzMCA1Ngo0MyAzIDQxIDYwIDM0IDY0IDIxIDEzCjE2IDUzIDIxIDUxIDU2IDQ2IDQgNDEKNDQgNjQgMzAgMTAgNDUgMzcgOCA1Nwo1MCAyIDUyIDI2IDM4IDQ5IDI3IDkKMSA2MiAxMSAyNSA2IDIzIDU1IDM2CjMxIDU4IDQyIDM0IDQ4IDcgNDcgMzkKMTcgNTQgNjEgMjIgMTggNjMgMTIgMjkKNTkgMzMgNjAgMTkgMjAgNDMgNDAgMTQKMjQgMjggNSAzIDMyIDE1IDM1IDEzCjQxIDQgMzAgNTAgNTYgMTcgMTYgMjUKMjkgMjAgNiAyMyA2NCA1NCAxNCAyMgozMSA0MyA3IDI0IDMyIDEgOSA2MAo2MyAzNyAxOSA0MCA1NyA1OSA1NSA1CjEwIDM4IDQ4IDYxIDUxIDM5IDEyIDUzCjU4IDM2IDIgMzUgNDkgNjIgMTUgMjEKNDcgMjggNDYgMzQgMzMgNDQgNDUgOAoxMSAzIDE4IDI2IDEzIDI3IDQyIDUyCjkgNDMgNTEgNTcgMTIgNTggMTMgNDYKNDQgMTggMzMgMjMgMzUgMjUgMjYgNAo4IDI5IDI0IDU0IDYgMTAgMTcgMzQKNDggNjAgMzkgMiA1IDYyIDIxIDcKNjMgNTUgNDAgMzcgMTQgMTUgNDkgNjQKNTMgNTkgMjggNDUgNDcgNDIgMTEgMwoyMiA0MSAxNiA1NiAxIDUyIDIwIDMyCjM4IDMxIDE5IDUwIDI3IDYxIDM2IDMwCjQ3IDU2IDMyIDU5IDY0IDIxIDMzIDU3IDYwIDI1IDMwIDE0IDMgMSA4IDQ5IDQyIDI3IDExIDM1IDI2IDIgNDYgNyAyMyAzOSA1MSAxNiA2MyAxOSA0IDQ1IDYyIDUzIDUgNTUgMjIgMTUgMTggNiAyOSA2MSAyOCAxMCAxNyA1MiA1NCAzMSAxMiAzNyA0MSA1MCAyMCA0MyA0OCA5IDU4IDM0IDM4IDEzIDQwIDQ0IDM2IDI0
4 8
61 17 29 6 49 55 28 45
7 32 26 27 16 53 50 44
20 46 31 5 57 39 62 15
54 40 42 25 11 10 23 4
2 12 38 9 36 59 37 48
14 63 1 58 33 52 51 35
19 24 18 22 8 47 30 56
43 3 41 60 34 64 21 13
16 53 21 51 56 46 4 41
44 64 30 10 45 37 8 57
50 2 52 26 38 49 27 9
1 62 11 25 6 23 55 36
31 58 42 34 48 7 47 39
17 54 61 22 18 63 12 29
59 33 60 19 20 43 40 14
24 28 5 3 32 15 35 13
41 4 30 50 56 17 16 25
29 20 6 23 64 54 14 22
31 43 7 24 32 1 9 60
63 37 19 40 57 59 55 5
10 38 48 61 51 39 12 53
58 36 2 35 49 62 15 21
47 28 46 34 33 44 45 8
11 3 18 26 13 27 42 52
9 43 51 57 12 58 13 46
44 18 33 23 35 25 26 4
8 29 24 54 6 10 17 34
48 60 39 2 5 62 21 7
63 55 40 37 14 15 49 64
53 59 28 45 47 42 11 3
22 41 16 56 1 52 20 32
38 31 19 50 27 61 36 30
47 56 32 59 64 21 33 57 60 25 30 14 3 1 8 49 42 27 11 35 26 2 46 7 23 39 51 16 63 19 4 45 62 53 5 55 22 15 18 6 29 61 28 10 17 52 54 31 12 37 41 50 20 43 48 9 58 34 38 13 40 44 36 24