大体思路是
对每个点分别考虑最后两排和其余的
对于其余部分的我们只考虑以之为原点的x轴正半轴,y轴负半轴,y=x的第三象限,y=-x的第四象限部分;
对于最后两排只考虑x轴正半轴;
#include<stdio.h>
int main(){
char pan[40][40];
int n;
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%c\n",&pan[i][j]);
}
getchar();
}
for(int i=0;i<n-2;i++){
for(int j=0;j<n-2;j++){
if(pan[i][j]!='.'){
if((pan[i][j]==pan[i][j+1])&&(pan[i][j]==pan[i][j+2])){
printf("%c\n",pan[i][j]);
return 0;
}
if((pan[i][j]==pan[i+1][j])&&(pan[i][j]==pan[i+2][j])){
printf("%c\n",pan[i][j]);
return 0;
}
if((pan[i][j]==pan[i+1][j+1])&&(pan[i][j]==pan[i+2][j+2])){
printf("%c\n",pan[i][j]);
return 0;
}
if((pan[i][j]==pan[i+1][j-1])&&(pan[i][j]==pan[i+2][j-2])){
printf("%c\n",pan[i][j]);
return 0;
}
}
}
}
for(int i=n-2;i<n;i++){
for(int j=0;j<n-2;j++){
if(pan[i][j]!='.'){
if((pan[i][j]==pan[i][j+1])&&(pan[i][j]==pan[i][j+2])){
printf("%c\n",pan[i][j]);
return 0;
}
}
}
}
printf("ongoing\n");
return 0;
}