求助!!!
  • 板块P1101 单词方阵
  • 楼主hy233
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/7/28 11:27
  • 上次更新2023/11/6 22:00:51
查看原帖
求助!!!
259300
hy233楼主2020/7/28 11:27

样例过了但是它算我错

提交记录

#include<bits/stdc++.h>
using namespace std;
int n;
char aa[105][105];
bool bb[105][105],ke=1;
const char yi[7]={'y','i','z','h','o','n','g'};
const int zx[8]={1,0,-1,-1,-1,0,1,1},zy[8]={1,1,1,0,-1,-1,-1,0};
void dfs(int x,int y)
{
	for(int i=0;i<8;i++)
	{
		int xx=x,yy=y;
		for(int j=1;j<7;j++)
		{
			xx+=zx[i];
			yy+=zy[i];
			if(!(xx>=0&&xx<n&&yy>=0&&yy<n&&aa[xx][yy]==yi[j]))
			{
				ke=0;
				break;
			}
		}
		if(ke)
		{
			for(int j=0;j<7;j++)
			{
				bb[x+j*zx[i]][y+j*zy[i]]=1;
				
			}
		}
		ke=1;
	}
} 

int main()
{
	cin>>n;
	cin.get();
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			cin.get(aa[i][j]);
		} 
		cin.get();
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(aa[i][j]=='y')
				dfs(i,j);
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(bb[i][j])
				cout<<aa[i][j];
			else
				cout<<'*';
		}
		cout<<endl;
	} 
	return 0;
}
2020/7/28 11:27
加载中...