博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1154 LETTERS
阅读量:5240 次
发布时间:2019-06-14

本文共 993 字,大约阅读时间需要 3 分钟。

  典型的  深度优先搜索策略的  回溯 题。。

 因为 一直WA。。所以 写一下 总结。。帮助自己回忆一下。。

 深搜的概念和回溯的方法,百度上很多,我就不多说什么了。

 

 为什么一直WA?当然和题目数据无关,是我自己的问题。。

 第一,判断是否在地图内。边界错了,我都不知道是怎么写出来的,边界判断错了。真心 无语。。

 第二,这道题和迷宫问题最大的 不同时 它不会回溯已经走过的点。

 第三,回溯中用来判断回溯条件的 栈,同样是以0 为起点的。。(用数组实现)

 第四,我的算法功底不好,这也是我最想说的,最基本的 尤为重要。不是第一道回溯题,却是最痛苦的一道。

          AC的时候,心里有一种难以言喻的喜悦,但并不开心,一道简单的题嘛。。。

 

 思路就是 搜索当前的节点的字母是否出现过,如果出现过,则不扩展这个节点,否则扩展这个节点。扩展策略为深度优先。。

 贴代码:

  

#include
#include
#include
char letter[100][100]; int jud[100][100]; char dd[100]; int cnt; int cnt1; int number; int direct[4][2]={
{-1,0},{
0,1},{
1,0},{
0,-1}}; int R,C; bool inmap(int row,int col) {
if(row>=0&&col>=0&&row
cnt1) cnt1=cnt; for(i=0;i<4;i++) { row1=row+direct[i][0]; col1=col+direct[i][1]; if(inmap(row1,col1)) { flag=true; for(j=0;j

 另外一组测试数据:

  5 5

ABAAA

BCAAA

CDERT

SDFGH

LLLLL

正确是:12

 

转载于:https://www.cnblogs.com/deityde1127/archive/2012/04/05/2433280.html

你可能感兴趣的文章
直接用sqlite3处理iphone的短信
查看>>
Python所用的公司
查看>>
算法初步:快速乘,快速幂,矩阵快速幂
查看>>
JAVA 实现 GET、POST、PUT、DELETE HTTP请求
查看>>
设置Tomcat编码(UTF-8)
查看>>
对象的属性绑定一个函数
查看>>
ubuntu14.04无法安装Curl
查看>>
[转帖]Oracle 查询各表空间使用情况--完善篇
查看>>
beego——获取参数
查看>>
[Spark]-Streaming-调优
查看>>
计算机软考笔记之《标准化和知识产权基础知识》
查看>>
Jeecg+fixflow,工作流框架分享
查看>>
顺序表应用3:元素位置互换之移位算法
查看>>
HDU 5763 Another Meaning (kmp + dp)
查看>>
常用DOS指令备忘
查看>>
SQL语句使用详解
查看>>
一起来构建前端工具链吧~(开发项目)
查看>>
Redmine2.0.3+Mysql55+RailsInstaller2.1.0+Win7成功安装记录(适用于Redmine2.3.0)
查看>>
Flexible 弹性盒子模型之CSS flex-basis 属性
查看>>
mysql(5.7)在CentOs7下的安装、配置与应用
查看>>