UVA352 The Seasonal War
题目本身不难理解,就是深搜(或广搜,有可能以后会加在这里)。
但是洛谷的题目中没有截到输入输出的格式,下面是我从UVA复制下来的样例:
Sample input
6
100100
001010
000000
110000
111000
010100
8
01100101
01000001
00011000
00000010
11000011
10100010
10000001
01100000
Sample output
Image number 1 contains 3 war eagles.
Image number 2 contains 6 war eagles.
所以是有多组输入输出,需要像这样输入:
while(~scanf("%d",&n))
注意事项:
答案需要清零(我卡了一次)
还有一处在下方代码标出(很低级,可能只有我犯了)
\(\mathtt{AC}\) \(\mathtt{Code:}\)
#include<bits/stdc++.h>
using namespace std;
string mp[110];
int n,m,ans=0;
bool check(int x,int y){
if(x<n&&y<n&&x>-1&&y>-1) return 1;
return 0;
}//判断是否越界
void dfs(int x,int y){
if(!check(x,y)) return;//超出边界
if(mp[x][y]=='0') return;//不为1,不可能构成一个块,已经访问
mp[x][y]='0';//标记为已经访问过了(就是这一行和上一行我写反了,答案一直不对)
for(int i=-1;i<=1;i++) for(int j=-1;j<=1;j++) if(check(x+i,y+j)&&mp[x+i][y+j]!='0') dfs(x+i,y+j);//枚举方向并且进行下一步
}
int main(){
int tmp=0;
while(~scanf("%d",&n)){
ans=0;//记得清零
tmp++;
for(int i=0;i<n;i++) cin>>mp[i];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(mp[i][j]=='1'){
ans++;//块的数量
dfs(i,j);//逐一枚举所有唯一的块
}
}
}
cout<<"Image number "<<tmp<<" contains "<<ans<<" war eagles."<<endl;
}
return 0;
}
UVA352 The Seasonal War的更多相关文章
- uva 352 - The Seasonal War
題意: 要確認畫面中有幾隻Eagles,每個pixel如果是'1'代表為一隻Eagles,但上下左右(包含斜角共8個方向)相連的'1'只能算是同一隻. 想法: 使用DFS找'1'有幾個區域. #inc ...
- 用Maven部署war包到远程Tomcat服务器
过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...
- 多War项目中静态文件的共享方案
[原创申明:文章为原创,欢迎非盈利性转载,但转载必须注明来源] 在互联网产品中,一般会有多个项目(Jar.WAR)组成一个产品线.这些WAR项目,因为使用相同的前端架构(jQuery.easyui等) ...
- war 文件打包技巧
1.首先是工具比如Eclipse很方便了. 2.用winrar之类的工具,把web-info目录,及跟它同级的所有目录及文件,打包成 zip文件就行了,然后把扩展名改成war! 3 Jar命令: 假定 ...
- Windows 安装JRuby 生成 war 到 tomcat 运行
Windows安装JRuby Rails 直接下载 JRuby,不装 Ruby. http://jruby.org/download 该安装包可以配好环境变量 %JRUBY_HOME% 等 安装 bu ...
- war项目在tomcat上面部署
1.war包放到webapps根目录下. 2.修改tomcat目录下的conf文件夹里面的的server.xml,在<Host></Host>之间加入: <Context ...
- Ansible-playbook批量部署,更新war脚本,可以再完善----后续再update
- name: install tomcat admin hosts: all sudo: True vars: war_file: /root/test.war tomcat_root: /data ...
- 基于Java的打包jar、war、ear包的作用与区别详解
本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下 以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...
- 用于部署war并重启Tomcat的脚本
只需要定义两个变量, 一个是目标tomcat实例的目录, 另一个是war包的名称 # Please define the absolute path of tomcat instance THIS_T ...
随机推荐
- 微信小程序(黑马优购)完成!!{10天}
微信小程序(黑马优购)完成!!{10天} 项目技术点: wxml, json, wxss, js, mina框架 附上视频链接添加链接描述
- 汇编刷题:显示ABCDEFGH 八个字母
DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,8 MOV ...
- 汇编刷题 已知整数变量A和B,试编写完成下列操作的程序
1.若两个数中有一个是奇数,一个是偶数,则将它们互换储存地址 2.若两个数都是奇数,则分别加一 3.若两个数都是偶数,则不变 DATA SEGMENT A DB 12H B DB 25H DATA E ...
- Restlet Client发送GET、POST等请求
插件下载 百度云盘 链接:https://pan.baidu.com/s/13R4s1UR5TONl2JnwTgtIYw 密码:rt02 插件安装 解压后,直接拖进浏览器中. 功能演示
- 简单网络编程如何用python来实现
对于网络编程,通信模式是后台必备技能,先用最基础代码实现,理解一些 API 的含义,在深入学习. 总是有读者问过我关于 Python 后台开发相关,如果想走 Python 后台方向,对于 Python ...
- stand up meeting 1/11/2016
part 组员 工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 跑通打印机功能,尝试与pdf读取部分结合;生词本卡片选择简略释义 ...
- 并查集判树 poj 1308
例题: poj 1308 题目大意比较简单,对任意两个点,有且仅有一条道路,也就是一棵树. 题解:一棵树中,肯定是不能有环的,而且只能由一个根节点.(没认真读题,只知道在那里判环....),所以这个题 ...
- I NEED A OFFER! HDU - 1203
概率+0 1背包 要算成功的最大概率,那就是失败的最小概率,所以01背包直接让失败的概率最小就行了. 注意: 概率与概率之间是要相乘的,不是相加. #include<bits/stdc++.h& ...
- eclipse添加方法注释
打开注释模板编辑窗口:Window ->Preferences->java -> Code Style -> Code Template->Comments type 设 ...
- 简单了解下CAP定理与BASE定理
分布式环境下的各种问题 通信异常 网络不可用风险高,消息丢失.消息延迟非常普遍 网络分区(脑裂) 网络发生异常情况,延迟增加,导致所有组成分布式系统的节点中,只有部分节点之间能够正常通信,而另一些 ...