
Please check it.

[c]
#include<stdio.h>
int sum_col(int map[6][6],int col);
int sum_row(int map[6][6],int row);
void rotate(int map[6][6]);
main()
{
int map[6][6];
int i,j,row,col,cases,k,temp;
scanf("%d",&cases);
for(i=0;i<cases;i++)
{
for(j=0;j<6;j++)
{
for(k=0;k<6;k++)
scanf("%d",&map[j][k]);
}
row=-1;
for(k=0;k<3;k++)
{
for(j=0;j<6;j++)
{
temp=sum_row(map,j);
if(temp==4)
{
row=j;
break;
}
}
if(row==-1)
rotate(map);
else
break;
}
if(row==-1)
{
printf("incorrect\n");
goto finished;
}
col=-1;
for(j=0;j<6;j++)
{
temp=sum_col(map,j);
if(temp==3)
{
col=j;
break;
}
}
if(col==-1)
{
printf("incorrect\n");
goto finished;
}
if(row-1>=0 && row+1<6 && col-1>=0 && col+1<6 && col+2<6)
{
if(map[row][col]==1 && map[row][col-1]==1
&& map[row][col+1]==1 && map[row][col+2]==1
&& map[row-1][col]==1 && map[row+1][col]==1)
{
printf("correct\n");
goto finished;
}
}
if(row-1>=0 && row+1<6 && col-1>=0 && col-2>=0 && col+1<6)
{
if(map[row][col]==1 && map[row][col-1]==1
&& map[row][col+1]==1 && map[row][col-2]==1
&& map[row-1][col]==1 && map[row+1][col]==1)
{
printf("correct\n");
goto finished;
}
}
printf("incorrect\n");
finished:
if(i!=cases-1)
printf("\n");
}
}
int sum_row(int map[6][6],int row)
{
int i,sum;
sum=0;
for(i=0;i<6;i++)
sum+=map[row];
return(sum);
}
int sum_col(int map[6][6],int col)
{
int i,sum;
sum=0;
for(i=0;i<6;i++)
sum+=map[col];
return(sum);
}
void rotate(int map[6][6])
{
char map2[6][6];
int i,j;
for(i=0;i<6;i++)
for(j=0;j<6;j++)
map2[j]=map[j];
for(i=0;i<6;i++)
for(j=0;j<6;j++)
map[j][5-i]=map2[j];
return;
}
[/c]