#include <stdio.h> int n[5][5][2]; int test[5][5]; int m[5][5]; void in(void); void out(void); int check(void); int search(int a); int clear(void); void dump(void); void dump(void){ int i, j; for(i=0;i<5;i++) for(j=0;j<5;j++){ n[i][j][0]=test[i][j]; n[i][j][1]=test[i][j]; } } int main(void) { in(); //set // dump(); printf("%d", check()); return 0; } void in(void) { int i, j; for(i=0; i<5; i++) { for(j=0; j<5; j++) { scanf("%d", &n[i][j][0]); n[i][j][1]=n[i][j][0]; } } for(i=0; i<5; i++) { for(j=0; j<5; j++) scanf("%d", &m[i][j]); } } void out(void) { int i, j; for(i=0; i<5; i++) { for(j=0; j<5; j++) printf("%2d ", n[i][j][1]); printf("\n"); } printf("\n\n"); /*for(i=0; i<5; i++) { for(j=0; j<5; j++) printf("%d ", m[i][j]); printf("\n"); }*/ } int check(void) { int i, j, c=0; for(i=0; i<5; i++) { for(j=0; j<5; j++) { search(m[i][j]); c++; if(clear()>0){ //printf("\n###############################\n"); return c; } } } } int search(int a)//0 집어 넣는 함수 { int i, j; for(i=0; i<5; i++) { for(j=0; j<5; j++) { if(n[i][j][1]==a) { n[i][j][1]=0; return 0; } } } } int clear(void) { int i, j, a, c=0; for(i=0; i<5; i++) { a=0; for(j=0; j<5; j++) { if(n[j][i][1]!=0) break; a++; } if(a==5) { c++; if(c>=3) return c; } } for(i=0; i<5; i++) { a=0; for(j=0; j<5; j++) { if(n[i][j][1]!=0) break; a++; } if(a==5) { c++; if(c>=3) return c; } } a=0; for(i=0; i<5; i++) { if(n[i][i][1]!=0) break; a++; } if(a==5) { c++; if(c>=3) return c; } a=0; for(i=0; i<5; i++) { if(n[4-i][i][1]!=0) break; a++; } if(a==5) { c++; if(c>=3) return c; } return 0; }