求大神调试...
  • 板块CF377A Maze
  • 楼主hangv
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/1 12:52
  • 上次更新2024/3/1 17:44:47
查看原帖
求大神调试...
485821
hangv楼主2024/3/1 12:52
#include<bits/stdc++.h>

using namespace std;

const int N = 100 + 5;

int dx[5] = {1, -1, 0, 0};

int dy[5] = {0, 0, 1, -1};

char mp[N][N];

bool vis[N][N];

int c = 0;

int n, m, k;

void dfs(int x,int y){

	for(int i = 0; i < 4; i++){

		int fx = x + dx[i], fy = y + dy[i];
		
		if(fx <= 0 || fy <= 0 || fx > n || fy > m) continue;
		
		if(vis[fx][fy] == 1 || mp[fx][fy] == '#') continue;
		
		vis[x][y] = 1;
			
		dfs(fx, fy);

		if(c < k){

			c++;

			mp[fx][fy] = 'X';

		}
		
	}

}

int main(){

	cin>>n >>m >>k;

	for(int i = 1; i <= n; i++){

		for(int j = 1; j <= m ; j++){

			cin>>mp[i][j];

		}

	} 
	
	int i1 = 1, j1 = 1;
	
	while(mp[i1][j1] != '.'){
		
		i1++, j1++;
		
	}	

	dfs(i1, j1);
	
	for(int i = 1; i <= n; i++){

		for(int j = 1; j <= m ; j++){

			cout<<mp[i][j];
			
		}
		
		cout<<endl;

	} 
	
	return 0;

}
2024/3/1 12:52
加载中...