HDU 1241 是深搜算法的入门题目,递归实现。

原题目传送门:

http://acm.hdu.edu.cn/showproblem.php?pid=1241

代码仅供参考,c++实现:

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char land[][];
  5. int p,q;
  6.  
  7. void dfs(int x,int y){
  8. land[x][y] = '*';
  9. if(land[x-][y]!= '@' && land[x+][y] != '@' && land[x][y-] != '@' && land[x][y+] != '@' && land[x-][y+]!= '@' && land[x+][y-] != '@' && land[x-][y-] != '@' && land[x+][y+] != '@')
  10. return ;
  11.  
  12. if(x+ > && y+ > && x+ <= p && y+ <= q && land[x+][y+]== '@') { dfs(x+,y+); }
  13. if(x+ > && y- > && x+ <= p && y- <= q && land[x+][y-]== '@') { dfs(x+,y-); }
  14. if(y- > && x- > && x- <= p && y- <= q && land[x-][y-]== '@') { dfs(x-,y-); }
  15. if(y+ > && x- > && x- <= p && y+ <= q && land[x-][y+]== '@') { dfs(x-,y+); }
  16.  
  17. if(x+ > && y > && x+ <= p && y <= q && land[x+][y]== '@') { dfs(x+,y); }
  18. if(x- > && y > && x- <= p && y <= q && land[x-][y]== '@') { dfs(x-,y); }
  19. if(y- > && x > && x <= p && y- <= q && land[x][y-]== '@') { dfs(x,y-); }
  20. if(y+ > && x > && x <= p && y+ <= q && land[x][y+]== '@') { dfs(x,y+); }
  21.  
  22. return ;
  23. }
  24. int main(int argc, const char * argv[]) {
  25.  
  26. int num;
  27. cin>>p>>q;
  28. while(p> && q>){
  29.  
  30. num = ;
  31. for(int i = ; i <= p ;i++){
  32. for(int j = ; j<= q; j++){
  33. cin>>land[i][j];
  34. }
  35. }
  36. for(int i = ; i <= p ;i++){
  37. for(int j = ; j<= q; j++){
  38. if(land[i][j] == '@'){
  39. num++;
  40. dfs(i,j);
  41. }
  42.  
  43. }
  44. }
  45. cout<< num<<endl;
  46. cin>>p>>q;
  47. }
  48. return ;
  49. }

深搜基础题目 杭电 HDU 1241的更多相关文章

  1. 杭电 HDU ACM 2795 Billboard(线段树伪装版)

    Billboard Time Limit: 20000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 杭电 HDU 1242 Rescue

    http://acm.hdu.edu.cn/showproblem.php?pid=1242 问题:牢房里有墙(#),警卫(x)和道路( . ),天使被关在牢房里位置为a,你的位置在r处,杀死一个警卫 ...

  3. ACM 杭电HDU 2084 数塔 [解题报告]

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  4. 杭电 HDU ACM Milk

    Milk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. 杭电 HDU 4608 I-number

    http://acm.hdu.edu.cn/showproblem.php?pid=4608 听说这个题是比赛的签到题......无语..... 问题:给你一个数x,求比它大的数y. y的要求: 1. ...

  6. 杭电 HDU 1031 Design T-Shirt

    Design T-Shirt Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  7. 杭电 HDU ACM 1698 Just a Hook(线段树 区间更新 延迟标记)

    欢迎"热爱编程"的高考少年--报考杭州电子科技大学计算机学院 Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memor ...

  8. 杭电hdu 2089 数位dp

    杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍 ...

  9. 杭电 HDU 2717 Catch That Cow

    Catch That Cow Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

随机推荐

  1. sublimetext3官网安装

    1. 下载 可以从官网 http://www.sublimetext.com/3 下载. 2. Windows下安装与使用2.1 安装 1. Win7 64位系统,可以下载 Windows 64 bi ...

  2. 在EasyUI中统一判断是否有选中行,如果有则将选中行数据传入回调函数

    function procossWithSeletedData(func) { var rowData = $("#tbGrid").datagrid("getSelec ...

  3. asp.net后台的一些操作

    1.在后台绑定下拉框再返回到前台 protected StringBuilder sq = new StringBuilder();//为了在前台绑定 protected void Page_Load ...

  4. django的路由系统

    在django生成的工程项目文件中urls.py文件用于指定路由信息 该文件默认导入以下模块 from confimport from import admin from confimport url ...

  5. Core Bluetooth【官方文档翻译】【02】

    1.中心设备和外围设备以及它们在蓝牙通讯中的角色. 在所有的BLE( Bluetooth low energy,下文简称蓝牙4.0 )通讯中都涉及2个主要的角色:中心设备和外围设备.它是基于传统的客户 ...

  6. git安装及使用简介

    从源代码安装 有人觉得从源码安装 Git 更实用,因为你能得到最新的版本. 二进制安装程序倾向于有一些滞后,当然近几年 Git 已经成熟,这个差异不再显著. 如果你想从源码安装 Git,需要安装 Gi ...

  7. 正三角形的外接圆面积,nyoj-274

    正三角形的外接圆面积 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 描述给你正三角形的边长,pi=3.1415926 ,求正三角形的外接圆面积.   输入 只有一组测试数据 ...

  8. iOS项目生成通用Windows应用

    WinObjc - 使用iOS项目生成通用Windows应用   Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布 ...

  9. Ubuntu安装与初始配置

    转载请注明作者:梦里风林 更多文章查看我的个人站: ahangchen.site 适用于Ubuntu版本 14.04/16.04LTS 64位 先上图 双系统安装 划分空闲磁盘,U盘安装ubuntu ...

  10. ASP.NET抓取网页内容的实现方法

    这篇文章主要介绍了ASP.NET抓取网页内容的实现方法,涉及使用HttpWebRequest及WebResponse抓取网页内容的技巧,需要的朋友可以参考下 一.ASP.NET 使用HttpWebRe ...