#include<iostream>
#include<string>
using namespace std;
int main(){
int n=0;
cin>>n;
string in[n];
string out[n];
for(int i=0;i<n;i++){
cin>>in[i];
for(int j=0;j<n;j++){
out[i][j]='*';
}
}
int dx,dy,x,y;
for(int i=0;i<n;i++){
dx=0;dy=0;
for(int j=0;j<n;j++){
dx=0;dy=1;x=i;y=j;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=0;dy=-1;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=1;dy=0;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=-1;dy=0;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=1;dy=-1;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=-1;dy=1;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=-1;dy=-1;
if((in[x][y])=='y'&&(in[x+dx*1][y+dy*1])=='i'&&(in[x+dx*2][y+dy*2])=='z'&&(in[x+dx*3][y+dy*3])=='h'&&(in[x+dx*4][y+dy*4])=='o'&&(in[x+dx*5][y+dy*5])=='n'&&(in[x+dx*6][y+dy*6])=='g')
out[i][j]='y';out[i+dx*1][j+dy*1]='i';out[i+dx*2][j+dy*2]='z';out[i+dx*3][j+dy*3]='h';out[i+dx*4][j+dy*4]='o';out[i+dx*5][j+dy*5]='n';out[i+dx*6][j+dy*6]='g';
dx=1;dy=1;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
cout<<out[i][j];
cout<<endl;
}
return 0;
}
代码没有任何输出,原题:
给一 n \times nn×n 的字母方阵,内可能蕴含多个 yizhong
单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用 *
代替,以突出显示单词。