两个样例都过了,但是提交后全WA。 望大佬指教(代码可能会有些难看)
#include <bits/stdc++.h>
using namespace std;
int n,dx[9]={0,-1,-1,-1,0,1,1,1,0},dy[9]={0,-1,0,1,1,1,0,-1,-1};
char in[101][101],r[101][101],e[8]={' ','y','i','z','h','o','n','g'};
void p(int x,int y,int s)
{
int indexx[8]={},indexy[8]={};
int i=1;
while(in[x][y]==e[i]&&x>0&&x<=n&&y>0&&y<=n)
{
indexx[i]=x;
indexy[i]=y;
x+=dx[s];
y+=dy[s];
i++;
}
if(i==8)
{
for(i=1;i<=7;i++)
{
r[indexx[i]][indexy[i]]=e[i];
}
}
return;
}
int main()
{
for(int i=1;i<=100;i++)
{
for(int j=1;j<=100;j++)
{
r[i][j]='*';
}
}
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>in[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(in[i][j]=='y')
{
for(int k=1;k<=8;k++)
{
p(i,j,k);
}
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<r[i][j];
}
cout<<endl;
}
return 0;
}