输入样例1:
6
.***..
..#...
..#...
......
....*.
.....*
输出样例1:
Not yet
输入样例2:
7
..#....
..#....
..#..*.
..#.*..
..#*...
..*..##
.*.****
输出样例2:
Win 1 6
pta的界面忘记把c改成c++
compilation terminated.编译终止
fatal error: iostream: No such file or directory #include< iostream>
致命错误:iostream:没有这样的文件或目录#include< iostream>
代码
#include<iostream>
using namespace std;
char pan[21][21];
int main(){
int N;cin>>N;getchar();
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
pan[i][j]=getchar();
}
getchar(); //一行结束,将最后输入的回车符读掉;
}
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(pan[i][j]=='*'){
//打横判断
if(j+4<N&&pan[i][j+1]=='*'&&pan[i][j+2]=='*'
&&pan[i][j+3]=='*'&&pan[i][j+4]=='*')
{
printf("Win %d %d",j,i); //注意根据样例2,应该是先列后行
return 0;
}
//打竖判断
if(i+4<N&&pan[i+1][j]=='*'&&pan[i+2][j]=='*'
&&pan[i+3][j]=='*'&&pan[i+4][j]=='*')
{
printf("Win %d %d",j,i);
return 0;
}
//斜右下判断
if(i+4<N&&j+4<N&&pan[i+1][j+1]=='*'&&pan[i+2][j+2]=='*'
&&pan[i+3][j+3]=='*'&&pan[i+4][j+4]=='*')
{
printf("Win %d %d",j,i);
return 0;
}
//斜左下判断
if(i+4<N&&j-4<N&&pan[i+1][j-1]=='*'&&pan[i+2][j-2]=='*'
&&pan[i+3][j-3]=='*'&&pan[i+4][j-4]=='*')
{
printf("Win %d %d",j-4,i+4); //因为是斜左下,所以最左边第一颗棋子应该是最下面的一颗
return 0;
}
}
}
}
printf("Not yet");
}