NYOJ题目27水池数目

---------------------------------------------
这道题有点坑,也怪我总是有点马虎,按照正常人的思维0是表示有水池啊竟然是1表示有水池,最坑的是写反了竟然还能过样例一直以为是自己程序问题review了好多遍....
图论基础题,染色法即可。
AC代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int times=sc.nextInt();
while(times-->0){
int n=sc.nextInt();
int m=sc.nextInt();
map=new int[n][m];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
map[i][j]=sc.nextInt();
}
}
int color=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(map[i][j]==1) dfs(i,j,--color);
}
}
System.out.println(-color);
}
}
public static int map[][];
public static int next[][]={{-1,0},{0,1},{1,0},{0,-1}};
public static void dfs(int x,int y,int color){
if(x<0 || x>=map.length || y<0 || y>=map[x].length) return ;
if(map[x][y]==1){
map[x][y]=color;
for(int i=0;i<next.length;i++){
int nx=x+next[i][0];
int ny=y+next[i][1];
dfs(nx,ny,color);
}
}
}
}
题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=27
NYOJ题目27水池数目的更多相关文章
- nyoj 27 水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...
- NYOJ 27.水池数目-DFS求连通块
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...
- nyoj水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...
- nyoj27水池数目 (DFS)
题目27 题目信息 执行结果 本题排行 pid=27" style="text-decoration:none; color:rgb(55,119,188)">讨论 ...
- ACM 水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...
- 水池数目(DFS)
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...
- acm入门搜索-水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处 ...
- ny27 水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上 ...
- NYOJ36 水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地 ...
随机推荐
- linux基础知识与技能1
1.隐藏文件与非隐藏文件Linux中:linux中隐藏文件特点是文件名以.开头,跟文件属性无关.在linux中查看隐藏文件用ls -a命令(普通显示ls)2.相对路径与绝对路径什么是路径:路径是用来标 ...
- ECharts学习(2)--饼状图之南丁格尔图
1.上一篇中讲了如何绘制一个简单的柱状图,这次要画的是饼图,饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目.因为不在直角坐标系上,所 ...
- APiCloud真机调试需要注意的几个问题
具体请看官方文档:http://docs.apicloud.com/Dev-Tools/wifi-debug. APiCloud Android手机真机调试,需要首先在手机上安装官网提供的apploa ...
- Xcode使错误停在出错代码上
创建异常断点 依次选择“Debug”>“Breakpoints”>“Create Execption Breakpoint”
- Maven 配置使用小技巧
Spark开发中遇到了一些小问题,都是大神随便一个手指头帮我解决的.保持学习,积累吧! 一. 基于Intellij IDEA编辑器 1. 快捷键 注释/去注释 Ctrl+Shift+? 2. re ...
- BZOJ1491: [NOI2007]社交网络
传送门 最短路计数问题.因为数据量非常小($N \leq 100$),所以Floyd随便搞搞就行了. $f[i][j]$表示路径长度,$g[i][j]$表示最短路方案数. 先跑一遍裸的Floyd,然后 ...
- PHP文件大小格式化函数合集
比如碰到一个很大的文件有49957289167B,大家一看这么一长串的数字后面单位是字节B,还是不知道这个文件的大小是一个什么概念,我们把它转换成GB为单位,就是46.53GB.用下面这些函数就可以完 ...
- 不把C作为第一门语言是个好主意么
---------------------------------------------------------------------------------- 不把C作为第一门语言是个好主意 ...
- List拆分成多个集合
如果对一组大的集合进行操作,想分组进行,比如批量新增10000条数据,想100条分成一个集合分成100个集合,对集合进行操作100次,用C#如何编写,这里记录下代码如下 //构造被分隔的集合 List ...
- mysql问题
mysql x64,由于没有msi版,因此,在使用上可能会出现一些问题. 一. 配置环境变量: 只需把mysql/bin文件夹地址完整地添加到Path中,用“;”与前面的参数隔开.需注意,mysql ...