深搜(DFS),Image Perimeters
题目链接:http://poj.org/problem?id=1111
解题报告:
1、这里深搜有一点要注意,对角线上的点,如果为'.',则total不应该增加,因为这不是他的边长。
#include <stdio.h> #include <string.h>char maps[35][35]; int flag[35][35]; int mov1[4][2]= {{1,0},{-1,0},{0,1},{0,-1}}; int mov2[4][2]= {{1,1},{1,-1},{-1,1},{-1,-1}}; int r,c; int click_x,click_y; int total;///周长void dfs(int x,int y) {if(flag[x][y]!=0) return ;else{flag[x][y]=1;int tx;int ty;for(int k=0; k<4; k++){tx=x+mov1[k][0];ty=y+mov1[k][1];if(maps[tx][ty]=='X'&&flag[tx][ty]==0)dfs(tx,ty);else if(maps[tx][ty]=='.')total++;}for(int k=0; k<4; k++){tx=x+mov2[k][0];ty=y+mov2[k][1];if(maps[tx][ty]=='X'&&flag[tx][ty]==0)dfs(tx,ty);}} }int main() {while(scanf("%d%d%d%d",&r,&c,&click_x,&click_y),r){total=0;memset(flag,0,sizeof(flag));memset(maps,'.',sizeof(maps));for(int i=1; i<=r; i++){scanf("%s",maps[i]+1);maps[i][c+1]='.';}dfs(click_x,click_y);printf("%d\n",total);}return 0; }
转载于:https://www.cnblogs.com/TreeDream/p/5289733.html
深搜(DFS),Image Perimeters相关推荐
- [二叉树|深搜|dfs] leetcode 404 左叶子之和
[二叉树|深搜|dfs] leetcode 404 左叶子之和 1.题目 题目链接 计算给定二叉树的所有左叶子之和. 示例: 3/ \9 20/ \15 7在这个二叉树中,有两个左叶子,分别是 9 和 ...
- 题解HDU6148 Valley Numer(数位DP+深搜DFS)
题解HDU6148 Valley Numer[数位DP+深搜DFS] 题目 解析 参考源码 题目 Description: 众所周知,度度熊非常喜欢数字. 它最近发明了一种新的数字:Valley Nu ...
- 深入递归、深搜dfs、回溯、剪纸学习。
深入递归,深搜dfs,回溯,剪枝 参考于博客 一.双管齐下解递归 "逐步生成结果"类问题之数值型 自下而上的递归(递推,数学归纳,动态规划) 解决简单情况下的问题. 推广到稍复杂情 ...
- 2412 - 和为K ---深搜dfs剪枝
**2412 - 和为K ---深搜dfs优化 **来源:东方博宜oj oj.czos.cn #include<bits/stdc++.h> using namespace std; co ...
- acwing-167. 木棒(深搜dfs+减枝)
乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位. 然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度. 请你设计一个程序,帮 ...
- 深搜DFS\广搜BFS 图初步入门
首先,不管是BFS还是DFS,由于时间和空间的局限性,它们只能解决数据量比较小的问题. 深搜,顾名思义,它从某个状态开始,不断的转移状态,直到无法转移,然后退回到上一步的状态,继续转移到其他状态,不断 ...
- 算法学习笔记(六) 二叉树和图遍历—深搜 DFS 与广搜 BFS
图的深搜与广搜 复习下二叉树.图的深搜与广搜. 从图的遍历说起.图的遍历方法有两种:深度优先遍历(Depth First Search), 广度优先遍历(Breadth First Search),其 ...
- 习题9-2(免费糖果)【深搜dfs】+【记忆化搜索】
习题9-2 [UVa 10118]Free Candies(免费糖果) 题目大意: 桌上有4堆糖果,每堆有N(N<=40)颗.佳佳有个最多可以装5颗糖果的小篮子.他每次选择一堆糖果,把最顶上的一 ...
- 算法——广搜(BFS)/深搜(DFS)
在图的基本算法中,最初接触的就是图的遍历算法,根据访问节点的顺序,可分为广度优先搜索(BFS)和深度优先搜索(DFS). 广度优先搜索 广度优先搜索算法主要解决两个问题: 从节点A出发有到节点 ...
最新文章
- 「译」JUnit 5 系列:基础入门
- 编写脚本隐藏托盘图标_【Electron-Playground系列】托盘篇
- 经典C语言程序100例之七九
- codevs4343 找回密码
- php 图片不让下载,php简单实现文件或图片强制下载的方法
- 目标检测的二十年发展史—从传统方法到深度学
- 几种线程池的实现算法分析
- VS报:dll标记为系统必备组件,必须对其进行强签名错误
- dex2java_dex2jar 使用方法 | 学步园
- Cisco.Packet.Tracer思科模拟器浮动路由讲解(含实例步骤)
- SwiftUI 绘制刻度时钟表盘(自定义组件教程含源码)
- String转成JSON或String转为list后转为JSON或String转为map后转为JSON
- 一个屌丝程序员的青春(三三)
- 【译】Vertical-Align: All You Need To Know
- dubbo注册服务IP解析异常及IP解析源码分析
- axios拦截器、ElementUI组件的使用
- html实现点击图片全屏显示,用vue实现点击图片预览浏览器满屏大图
- linux学习笔记16
- uniapp m3u8格式视频加载
- 以太坊学习路线——(四、上)Truffle安装、truffle项目创建、编译、部署
热门文章
- 获取Java项目根目录
- 详解苹果 macOS Mail 中的零点击漏洞
- Google Update Service 被曝提权 0day,谷歌拒绝修复
- 集成学习lgb库调参的粒子群方法
- 进程VS线程---操作类型
- java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠,该怎么解决
- ELMAH--Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components 77 out of 90 rated th
- Swift中的数据存储
- 客户端连接openfire报错解决
- php imagick