CodeFoeces-377A

题目

原题链接:A. Maze

题意

给出一个n*m的表,#表示墙,.表示路。现要填充k个X。要求填充后的路也是一个整体。
参考了其他作者的思路。利用dfs。如果需要填充k个,有t个路,那么只要不填充t-k个就可以。

代码

#include
using namespace std;
char s[505][505];
int vis[505][505]={0};
int mov[4][2]={0,1,0,-1,1,0,-1,0};
int n,m,k,t=0;
void dfs(int r,int c){
    if(!t) return ;
    t--;
    vis[r][c]=1;
    for(int i=0;i<4;i++){
        int ti=r+mov[i][0];
        int tj=c+mov[i][1];
        if(ti>=0 && ti=0 && tj

你可能感兴趣的:(CodeFoeces-377A)