20pts求调
查看原帖
20pts求调
1381257
zhengyi0402楼主2024/10/21 20:26
#include<bits/stdc++.h>
#define int long long
using namespace std;
char a[111][111];
string s = "yizhong";
bool b[111][111];
vector<pair<int,int> > v;
bool flag = 1;
int dx[9]={0,-1,-1,-1,0,0,1,1,1},dy[9]={0,-1,0,1,-1,1,-1,0,1};
signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	int n;
	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++){
			for(int k = 1;k <= 8;k++){
				v.clear(); 
				bool flag = 1;
				int x = i,y = j;
				v.push_back(make_pair(x,y));
				for(int l = 0;l < 8;l++){
					if(a[x][y]!=s[l]){
						flag = 0;
						break;
					}
					
					x+=dx[k],y+=dy[k]; 
					v.push_back(make_pair(x,y));
				}
				if(flag){
					for(int l = 0;l < v.size();l++){
						b[v[l].first][v[l].second]=1;
					}
				}
			}
		}
	}
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(b[i][j])cout<<a[i][j];
			else cout<<'*';
		}
		cout<<endl;
	}
	return 0;
	//十年OI一场空,define int 见祖宗。
	//十年OI一场空,不开long long见祖宗。
}

(这题我没用dfs,bfs)

2024/10/21 20:26
加载中...