//m*m賓果對獎
#include<stdio.h>
int main()
{
int n,m;
////n<=10 m<=256
int A[256][256][10];//賓果表
int ans[256*256] ;//喊出的數字
int B[256][256][10];//對獎後的賓果表
for (int num=0;num<10;num++)
{
for (int i=0;i<256;i++)
{
for (int j=0;j<256;j++)
{
A[i][j][num]=0;
B[i][j][num]=0;
ans[j] =0;
}
}
}
//輸入每個人的賓果表 A[m][m][n]
for (int num=0;num<n;num++)
{
for (int i=0;i<m;i++)
{
for (int j=0;j<m;j++)
{ scanf("%d " ,&A
[i
][j
][num
]); } }
}
//喊出的數字
for (int k=0;k<m*m;k++)
{ scanf("%d " ,&ans
[k
]); }
//對數字(一個一個數字慢慢對,喊中的數字為1)
int line_link=0;//是否已經連線
for (int w=0;w<m*m;w++)//數字
{
if (line_link==0)
{
break;
}
//對數字
for (int num=0;num<n;num++)//人
{
for (int i=0;i<m;i++)
{
for (int j=0;j<m;j++)
{
if (A[i][j][num]==ans[w])
{ B[i][j][num]=1;}
}
}
}
//對 1個數字後,檢查有沒有連線
for (int num=0;num<n;num++)//人
{
int num_line[2*m+2]; //0~2m+1 列:0~m-1 行:m~2m-1 兩斜線:2m、2m+1
for (int i=0;i<m;i++)//檢查列連線
{
int sum=0;
for (int j=0;j<m;j++)
{ sum=sum+B[i][j][num];}
num_line[i] =sum;
}
for (int j=0;j<m;j++)//檢查行連線
{
int sum=0;
for (int i=0;i<m;i++)
{ sum=sum+B[i][j][num];}
num_line[m+j] =sum;
}
for (int i=0;i<m;i++)//檢查兩斜線連線
{
int sum1=0;
int sum2=0;
for (int j=0;j<m;j++)
{
if (i==j)
{ sum1=sum1+B[i][j][num]; }
if (i==-j)
{ sum2=sum2+B[i][j][num]; }
}
num_line[2*m] =sum1;
num_line[2*m+1]=sum2;
}
//檢查 num_line[2*m+2]
for (int s=0;s<2*m+2;s++)
{
if (num_line[s]==m&&line_link==0)
{
line_link
=1;printf("%d " ,ans
[w
]);//顯示中獎數字 printf("%d " ,num
);break; //顯示人 }
else if (num_line[s]==m&&line_link==1)
{
printf("%d " ,num
);break; //顯示人 }
}
}
}
return 0;
}
Ly9tKm3os5PmnpzlsI3njY4KI2luY2x1ZGU8c3RkaW8uaD4KCmludCBtYWluKCkKewogICAgaW50IG4sbTsKICAgIHNjYW5mKCIlZCAlZFxuIiAsJm4sJm0pOwogICAgLy8vL248PTEwIG08PTI1NgogICAgaW50IEFbMjU2XVsyNTZdWzEwXTsvL+izk+aenOihqCAgICAgICAKICAgIGludCBhbnNbMjU2KjI1Nl0gICA7Ly/llorlh7rnmoTmlbjlrZcgCiAgICBpbnQgQlsyNTZdWzI1Nl1bMTBdOy8v5bCN542O5b6M55qE6LOT5p6c6KGoIAogICAgZm9yIChpbnQgbnVtPTA7bnVtPDEwO251bSsrKQogICAgewogICAgCSBmb3IgKGludCBpPTA7aTwyNTY7aSsrKQogICAgCSB7CiAgICAJIAkgIGZvciAoaW50IGo9MDtqPDI1NjtqKyspCiAgICAJIAkgIHsgICAgCiAgICAJIAkgICAgICAgQVtpXVtqXVtudW1dPTA7IAogICAgCSAJICAgICAgIEJbaV1bal1bbnVtXT0wOwogICAgCSAJICAgICAgIGFuc1tqXSAgICAgID0wOwogICAgCSAJICB9CgkJIH0KCX0KICAgIAogICAgLy/ovLjlhaXmr4/lgIvkurrnmoTos5PmnpzooaggQVttXVttXVtuXQogICAgZm9yIChpbnQgbnVtPTA7bnVtPG47bnVtKyspCiAgICB7CiAgICAJIGZvciAoaW50IGk9MDtpPG07aSsrKQogICAgCSB7CiAgICAJIAkgIGZvciAoaW50IGo9MDtqPG07aisrKQogICAgCSAJICB7ICAgIHNjYW5mKCIlZCAiICwmQVtpXVtqXVtudW1dKTsgfQoJCSB9Cgl9CgkKICAgIC8v5ZaK5Ye655qE5pW45a2XIAogICAgZm9yIChpbnQgaz0wO2s8bSptO2srKykKICAgIHsgICAgc2NhbmYoIiVkICIgLCZhbnNba10pOyB9CiAgICAKCiAgICAvL+WwjeaVuOWtlyjkuIDlgIvkuIDlgIvmlbjlrZfmhaLmhaLlsI0s5ZaK5Lit55qE5pW45a2X54K6MSkgCiAgICBpbnQgbGluZV9saW5rPTA7Ly/mmK/lkKblt7LntpPpgKPnt5ogCglmb3IgKGludCB3PTA7dzxtKm07dysrKS8v5pW45a2XIAoJeyAgICAKCSAgICBpZiAobGluZV9saW5rPT0wKQoJICAgIHsKCSAgICAJYnJlYWs7CgkJfQoJICAgICAvL+WwjeaVuOWtlyAKCQkgZm9yIChpbnQgbnVtPTA7bnVtPG47bnVtKyspLy/kurogCgkJIHsKCQkgCSAgZm9yIChpbnQgaT0wO2k8bTtpKyspCgkJIAkgIHsKICAgIAkgCSAgICAgICBmb3IgKGludCBqPTA7ajxtO2orKykKICAgIAkgCSAgICAgICB7ICAgIAogICAgCSAJICAgICAgICAgICAgaWYgKEFbaV1bal1bbnVtXT09YW5zW3ddKQoJCQkJCQl7ICAgQltpXVtqXVtudW1dPTE7fSAKCQkJCSAgIH0KCQkgICAgICB9CgkJIH0gCgkJIAoJCSAvL+WwjSAx5YCL5pW45a2X5b6M77yM5qqi5p+l5pyJ5rKS5pyJ6YCj57eaCgkJIGZvciAoaW50IG51bT0wO251bTxuO251bSsrKS8v5Lq6IAoJCSB7CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgaW50IG51bV9saW5lWzIqbSsyXTsgLy8wfjJtKzEgIOWIl++8mjB+bS0xIOihjO+8mm1+Mm0tMSDlhanmlpznt5rvvJoybeOAgTJtKzEgCiAgICAgICAgICAgICAgZm9yIChpbnQgaT0wO2k8bTtpKyspLy/mqqLmn6XliJfpgKPnt5ogCiAgICAgICAgICAgICAgeyAgICAKICAgICAgICAgICAgICAgICAgIGludCBzdW09MDsKICAgICAgICAgICAgICAJICAgZm9yIChpbnQgaj0wO2o8bTtqKyspCiAgICAgICAgICAgICAgCSAgIHsgICAgc3VtPXN1bStCW2ldW2pdW251bV07fQogICAgICAgICAgICAgIAkgICBudW1fbGluZVtpXSAgPXN1bTsgCgkJCSAgfQoJCQkgIGZvciAoaW50IGo9MDtqPG07aisrKS8v5qqi5p+l6KGM6YCj57eaIAogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIGludCBzdW09MDsKICAgICAgICAgICAgICAJICAgZm9yIChpbnQgaT0wO2k8bTtpKyspCiAgICAgICAgICAgICAgCSAgIHsgICAgc3VtPXN1bStCW2ldW2pdW251bV07fQogICAgICAgICAgICAgIAkgICBudW1fbGluZVttK2pdICA9c3VtOyAKCQkJICB9CgkJCSAgZm9yIChpbnQgaT0wO2k8bTtpKyspLy/mqqLmn6Xlhanmlpznt5rpgKPnt5ogCiAgICAgICAgICAgICAgeyAgICAKICAgICAgICAgICAgICAgICAgIGludCBzdW0xPTA7CiAgICAgICAgICAgICAgICAgICBpbnQgc3VtMj0wOwogICAgICAgICAgICAgIAkgICBmb3IgKGludCBqPTA7ajxtO2orKykKICAgICAgICAgICAgICAJICAgeyAgCgkJCQkJIGlmIChpPT1qKSAgCgkJCQkJIHsgICBzdW0xPXN1bTErQltpXVtqXVtudW1dOyB9CgkJCQkJIGlmIChpPT0taikKCQkJCQkgeyAgIHN1bTI9c3VtMitCW2ldW2pdW251bV07IH0JCQkJCSAKCQkJCSAgIH0KCQkJCSAgIG51bV9saW5lWzIqbV0gID1zdW0xOwoJCQkJICAgbnVtX2xpbmVbMiptKzFdPXN1bTI7CgkJCSAgfQoJCQkgIAoJCQkgIC8v5qqi5p+lIG51bV9saW5lWzIqbSsyXSAKCQkJICBmb3IgKGludCBzPTA7czwyKm0rMjtzKyspCgkJCSAgewoJCQkgICAgICAgaWYgKG51bV9saW5lW3NdPT1tJiZsaW5lX2xpbms9PTApCgkJCSAgICAgICB7ICAgCgkJCQkgICAgICAgbGluZV9saW5rPTE7cHJpbnRmKCIlZCAiICxhbnNbd10pOy8v6aGv56S65Lit542O5pW45a2XIAoJCQkJICAgICAgIHByaW50ZigiJWQgIiAsbnVtKTticmVhazsgICAgLy/poa/npLrkurogCgkJCQkgICB9CgkJCQkgICBlbHNlIGlmIChudW1fbGluZVtzXT09bSYmbGluZV9saW5rPT0xKQoJCQkgICAgICAgeyAgIAoJCQkJICAgICAgIHByaW50ZigiJWQgIiAsbnVtKTticmVhazsgICAgLy/poa/npLrkurogCgkJCQkgICB9CgkJCSAgfSAgIAoJCSB9ICAKCQkgCgkJIAoJCSAKCX0gCiAgICAKCiAKIAogCgpyZXR1cm4gMDsgCn0gCg==