Untitled
3 years ago in Plain Text
#include<stdio.h>
void find(int row, int col, int index);
char S[15]="ICPCASIASG";
char chessland[110][110];
int X[10]={-1, 1, -2, 2, -2, 2, -1, 1};
int Y[10]={-2, -2, -1, -1, 1, 1, 2, 2};
int N, ans=0, a;
int main(void)
{
int i, j;
scanf("%d", &N);
getchar();
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
scanf("%c", &chessland[i][j]);
}
}
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
if(chessland[i][j]=='I')
{
find(i, j, 1);
}
if(ans==1)
break;
}
if(ans==1)
break;
}
if(ans==1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
void find(int row, int col, int index)
{
int i, x, y;
if(index==10)
{
ans=1;
return;
}
else
{
for(i=0; i<8; i++)
{
y=row+Y[i];
x=col+X[i];
if(y>=0 && y<N && x>=0 && x<N && chessland[y][x]==S[index])
find(y, x, index+1);
}
}
}