[luogu1162 填涂颜色]

来源:互联网 发布:linux内核修炼之道 编辑:程序博客网 时间:2024/04/26 14:23

题目链接

题解:搜吧

#include <iostream>#include <cstdio>using namespace std;int n,flag,x;int map[50][50];bool check(int x,int y){    if(x<1||y<1||x>n||y>n||map[x][y]!=2) return 0;    return 1;}void dfs(int x,int y){    if(!check(x,y)) return ;    map[x][y]=0;    dfs(x+1,y);dfs(x-1,y);    dfs(x,y+1);dfs(x,y-1);}void init(){    cin>>n;    for(int i=1;i<=n;i++)    for(int j=1;j<=n;j++){        scanf("%d",&x);        if(x==0) x=2;        map[i][j]=x;    }}void work(){    for(int i=1;i<=n;i++)    dfs(i,1),dfs(i,n),dfs(1,i),dfs(n,i);    for(int i=1;i<=n;i++)    {        for(int j=1;j<=n;j++)        printf("%d ",map[i][j]);        puts("");    }}int main(){    init();    work();} 
0 0
原创粉丝点击