社区讨论

‘z’会出现笑脸!!!???

P1101单词方阵参与者 7已保存回复 15

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
15 条
当前快照
1 份
快照标识符
@mi7yxpe0
此快照首次捕获于
2025/11/21 05:53
4 个月前
此快照最后确认于
2025/11/21 06:46
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,l,f[101][101];
char a[101][101];
char s;
int main()
{
	cin>>n;
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=n;++j)
		{
			cin>>s;
			a[i][j]=s;
		}
	}
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=n;++j)
		{
			if(a[i][j]=='y')
			{
				if(a[i][j-1]=='i')//左
				{
					if(a[i][j-2]=='z'&&a[i][j-3]=='h'&&a[i][j-4]=='o'&&a[i][j-5]=='n'&&a[i][j-6]=='g')
					{
						for(int k=j;k>=j-6;--k)
						f[i][k]=1;
					}
				} 
				if(a[i-1][j]=='i')//上
				{
					if(a[i-2][j]=='z'&&a[i-3][j]=='h'&&a[i-4][j]=='o'&&a[i-5][j]=='n'&&a[i-6][j]=='g')
					{
						for(int k=i;k>=i-6;--k)
							f[k][j]=1;
					}
				} 
				if(a[i][j+1]=='i')//右 
				{
					if(a[i][j+2]=='z'&&a[i][j+3]=='h'&&a[i][j+4]=='o'&&a[i][j+5]=='n'&&a[i][j+6]=='g'&&j+6<=n)
					{
						for(int k=j;k<=j+6;++k)
						f[i][k]=1;
					}
				}
				if(a[i+1][j]=='i')//下 
				{
					if(a[i+2][j]=='z'&&a[i+3][j]=='h'&&a[i+4][j]=='o'&&a[i+5][j]=='n'&&a[i+6][j]=='g')
					{
						for(int k=i;k<=i+6;++k)
							f[k][j]=1;
					}
				}
				if(a[i+1][j-1]=='i')//左斜 
				{
					if(a[i+2][j-2]='z'&&a[i+3][j-3]=='h'&&a[i+4][j-4]=='o'&&a[i+5][j-5]=='n'&&a[i+6][j-6]=='g')
					{
						for(int k=i,h=j;k<=i+6,h>=j-6;k++,h--)
						f[k][h]=1;
					}
				}
				if(a[i+1][j+1]=='i')//右斜 
				{
					if(a[i+2][j+2]='z'&&a[i+3][j+3]=='h'&&a[i+4][j+4]=='o'&&a[i+5][j+5]=='n'&&a[i+6][j+6]=='g')
					{
						for(int k=i,h=j;k<=i+6,h<=j+6;k++,h++)
						f[k][h]=1;
					}
				}
			}
		}
	}
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=n;++j)
		{
			if(f[i][j]==0)cout<<"*";
			else cout<<a[i][j];
		}
		cout<<endl;
	}
	return 0;
}

回复

15 条回复,欢迎继续交流。

正在加载回复...