关闭O2只有#3wa,求修改
查看原帖
关闭O2只有#3wa,求修改
1118380
17780834478KS楼主2024/10/19 16:18
```cpp
#include<bits/stdc++.h>
using namespace std;
int n;
char a[105][105];
int book[105][105];
string s="yizhong";
bool f1(int x,int y)
{
	if(y+6>n)return false;
	for(int i=y;i<=y+6;i++)
	{
		if(a[x][i]!=s[i-y])return false;
	} 
	for(int i=y;i<=y+6;i++)
	{
		book[x][i]=1;
	}
}
bool f2(int x,int y)
{
	if(y-6<1)return false;
	for(int i=y;i>=y-6;i--)
	{
		if(a[x][i]!=s[y-i])return false;
	} 
	for(int i=y;i>=y-6;i--)
	{
		book[x][i]=1;
	}
}
bool f3(int x,int y)
{
	if(x+6>n)return false;
	for(int i=x;i<=x+6;i++)
	{
		if(a[i][y]!=s[i-x])return false;
	} 
	for(int i=x;i<=x+6;i++)
	{
		book[i][y]=1;
	}
}
bool f4(int x,int y)
{
	if(x-6<1)return false;
	for(int i=x;i>=x-6;i--)
	{
		if(a[i][y]!=s[x-i])return false;
	} 
	for(int i=x;i>=x-6;i--)
	{
		book[i][y]=1;
	}
}
bool f5(int x,int y)
{
	if(x+6>n||y+6>n)return false;
	for(int i=x;i<=x+6;i++)
	{
		if(a[i][i]!=s[i-x])return false;
	}
	for(int i=x;i<=x+6;i++)
	{
		book[i][i]=1;
	}
}
bool f6(int x,int y)
{
	if(x-6<1||y-6<1)return false; 
	for(int i=x;i>=x-6;i--)
	{
		if(a[i][i]!=s[x-i])return false;
	}
	for(int i=x;i>=x-6;i--)
	{
		book[i][i]=1;
	}
}
bool f7(int x,int y)
{
	if(y-6<1||x+6>n)return false;
	for(int i=x;i<=x+6;i++)
	{
		if(a[i][y-(i-x)]!=s[i-x])return false;
	}
	for(int i=x;i<=x+6;i++)
	{
		book[i][y-(i-x)]=1;
	}
}
bool f8(int x,int y)
{
	if(y+6>n||x-6<1)return false;
	for(int i=x;i>=x-6;i--)
	{
		if(a[i][y+(x-i)]!=s[x-i])return false;
	}
	for(int i=x;i>=x-6;i--)
	{
		book[i][y+(x-i)]=1;
	}
}
void dfs(int x,int y)
{
	if(x>n||y>n)return;
	f1(x,y);
	f2(x,y);
	f3(x,y);
	f4(x,y);
	f5(x,y);
	f6(x,y);
	f7(x,y);
	f8(x,y);
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			dfs(i,j);
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(book[i][j]==0)cout<<"*";
			else cout<<a[i][j];
		}
		cout<<endl;
	 } 
	return 0;
}
2024/10/19 16:18
加载中...