【p1162-填充颜色】解题记录
来源:互联网 发布:蚕丝被淘宝评价 编辑:程序博客网 时间:2024/05/20 20:04
题目链接
这道题的主要有两个方法:
在棋盘外再加一层 0,这样圈外的所有 0 就都连起来了,然后随便找一个棋盘外的 0 开始 bfs,就可以把所有的圈外 0 标记,然后未标记的 0 就都是圈内的了。(不直接挑一个棋盘内的 0 开始 bfs 是因为圈外的 0 可能被圈截成两半,这时无法标记所有圈外的 0)。
只有圈内的 0 的上下左右方向都有 1 。圈外的 0 至少一个方向上没有 0 。
以下是第一种方法的代码:
#include <cstdio>using namespace std;int size; const int maxn= 40;int map[maxn][maxn];void fill(int line, int col){ if(line<0||line>size+1||col<0||col>size+1) return; int &now= map[line][col]; if(now==-1||now==1){ return; } now= -1; fill(line+1, col); fill(line-1, col); fill(line, col+1); fill(line, col-1); }int main(){ scanf("%d", &size); for(int i=1; i<=size; ++i){ for(int j=1; j<=size; ++j){ scanf("%d", &map[i][j]); } } fill(0,0); for(int line=1; line<=size; ++line){ for(int col=1; col<=size; ++col){ int now= map[line][col], num; if(now==-1) num= 0; if(now==1) num=1; if(now==0) num=2; printf("%d ", num); } putchar('\n'); } return 0;}
0 0
- 【p1162-填充颜色】解题记录
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- P1162 填涂颜色
- 洛谷P1162 填涂颜色
- 洛谷 P1162 填涂颜色
- 洛谷P1162 填涂颜色
- 洛谷 P1162 填涂颜色
- 洛谷 P1162 填涂颜色
- [LUOGU] P1162 填涂颜色
- 洛谷p1162 填涂颜色
- [luogu]P1162填涂颜色
- 洛谷OJ P1162填涂颜色
- Luogu P1162填涂颜色 +BFS
- leetcode 53
- 设计模式之简单工厂模式(整理笔记)
- java编程之泛型(三)
- MFC编个对话框,能够实时显示摄像头捕捉的镜头
- 卷积滤波器如何提取图像特征
- 【p1162-填充颜色】解题记录
- 剑指offer-倒序打印链表
- Linux中有关磁盘空间的命令
- 电子版《邓小平文选》的出版前言
- 中文乱码问题
- Ubuntu下Android开发-手机识别
- 蓝桥4-1训练
- 如何科学的为变量命名
- 在前端界面输入中文经过处理存进数据库为乱码问题