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 ...
随机推荐
- Centos7 安装redis 5.0.8 开机自启动
redis安装 将安装包移动到linux上 执行解压 tar -xvf redis-5.0.8.tar.gz 修改redis文件夹名称 mv redis- redis 修改redis权限 chmod ...
- Mac PyCharm之.gitignore 安装设置
1. 首先安装.ignore 点击 PyCharm >>> Preferences 点击Plugins >>> 在搜索框输入.ignore >>> ...
- JS 浏览器BOM-->open() 方法
1.定义和用法 open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法: window.open(URL,name,specs,replace) 参数: URL:打开指定的页面的U ...
- defer使用小结
defer 前言 defer的定义 defer执行的规则 为什么需要defer defer进阶 作为匿名函数 作为函数参数 defer命令执行的时机 defer配合recover 总结 参考 defe ...
- AJ学IOS(40)UI之核心动画_抖动效果_CAKeyframeAnimation
AJ分享,必须精品 效果: 效果一: 效果二: 代码: // // NYViewController.m // 图片抖动 // // Created by apple on 15-5-8. // Co ...
- delphi使用ADO在sql数据库存取图片的方法
我一直不认为能把代码写的和天书一样的程序员是好的程序员,那不过是因为我真的对delphi也就是略懂皮毛,太深了看不懂.网上查询数据库存取图片的方式,看的是一头雾水,有人提出保存路径使用时再调用,方法很 ...
- ASE课程总结 by 林建平
设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的辅助用户在阅读英文文献时记忆生词,提高用户的生词量,减少用户的阅读障碍.定义非常清晰,要有查 ...
- Python实现按键精灵(一)-键鼠操作
需要安装 pywin32库 pip install pywin32 import win32api import time #鼠标移动 def mouse_move(x,y): win32api.Se ...
- [git] github 推送以及冲突的解决,以及一些命令
推送以及冲突的解决:(我的觉得先看完) (正常情况就是把修改的文件 git add 然后git commit 然后推送就行啦): 下面是一些命令 1.查看分支状态(查看所有:当前检出分支的前面会有星号 ...
- C++头文件问题
自己定义的头文件必须要用“***.h”系统头文件必须要用<***.h>stdafx.h 必须放在所有头文件的最前面(如果不放,debug版本没有问题:release版本有问题,会报错)