POJ 1154
#include<iostream>
#include<stdio.h>
#define MAXN 20
using namespace std; int DFS(int i,int j,int len,int r,int c);
bool key[];
char a[MAXN][MAXN];
//bool bool_lean[MAXN][MAXN];
int main()
{
//freopen("acm.acm","r",stdin);
int i;
int j;
int r;
int c;
cin>>r>>c;
// memset(bool_lean,false,sizeof(bool_lean));
for(i = ; i < r; ++ i)
{
for(j = ; j < c; ++ j)
{
cin>>a[i][j];
}
}
key[a[][]-'A'] = true;
cout<<DFS(,,,r,c)<<endl;
} int DFS(int i,int j,int len,int r,int c)
{
int tem;
tem = len;
int max = ;
if(i > )
{
if(!key[a[i-][j] - 'A'])
{
key[a[i-][j] - 'A'] = true;
// bool_lean[i-1][j] = true;
len = DFS(i-,j,len+,r,c);
key[a[i-][j] - 'A'] = false;
// bool_lean[i-1][j] = false;
if(len > max)
max = len;
len = tem;
} }
if(i < r-)
{
if(!key[a[i+][j] - 'A'])
{
key[a[i+][j] - 'A'] = true;
// bool_lean[i+1][j] = true;
len = DFS(i+,j,len+,r,c);
key[a[i+][j] - 'A'] = false;
// bool_lean[i+1][j] = false;
if(len > max)
max = len;
len = tem;
} }
if(j > )
{
if(!key[a[i][j-] - 'A'])
{
key[a[i][j-] - 'A'] = true;
// bool_lean[i][j-1] = true;
len = DFS(i,j-,len+,r,c);
key[a[i][j-] - 'A'] = false;
// bool_lean[i][j-1] = false;
if(len>max)
max = len;
len = tem;
}
}
if(j < c-)
{
if(!key[a[i][j+] - 'A'])
{
key[a[i][j+] - 'A'] = true;
// bool_lean[i][j+1] = true;
len = DFS(i,j+,len+,r,c);
key[a[i][j+] - 'A'] = false;
// bool_lean[i][j+1] = false;
if(len>max)
max = len;
len = tem;
}
}
if(len > max)
max = len;
return max;
}
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。

技术网站地址: vmfor.com
POJ 1154的更多相关文章
- poj 1154 letters (dfs回溯)
http://poj.org/problem?id=1154 #include<iostream> using namespace std; ]={},s,r,sum=,s1=; ][]; ...
- POJ 2462 / HDU 1154 Cutting a Polygon
就这样莫名其妙的过了,不过可以确定之前都是被精度卡死了.真心受不了精度问题了. 题意:一条直线在一个不规则多边形内的长度,包括边重合部分. 首先计算出所有交点,然后按想x,y的大小进行二级排序. 然后 ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- 转载:poj题目分类(侵删)
转载:from: POJ:http://blog.csdn.net/qq_28236309/article/details/47818407 按照ac的代码长度分类(主要参考最短代码和自己写的代码) ...
- POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理
Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7644 Accepted: 2798 ...
- POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理
Find a multiple Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7192 Accepted: 3138 ...
随机推荐
- 卡特尔16PF性格测试与答案
大学生在职业生涯规划时,必须充分注意到自己的性格和职业的适宜性.性格是指一个人在生活中形成的对现实的稳定的态度和行为方式.研究表明,性格影响着一个人的职业取向,由于性格的不同,每个人对工作和职业的态度 ...
- SEO方式之HTTPS 访问优化详解
SEO到底要不要做HTTPS?HTTPS对SEO的重要性 正方观点 1.HTTPS具有更好的加密性能,避免用户信息泄露: 2.HTTPS复杂的传输方式,降低网站被劫持的风险: 3.搜索引擎已经全面支持 ...
- 2018.09.30 bzoj4025: 二分图(线段树分治+并查集)
传送门 线段树分治好题. 这道题实际上有很多不同的做法: cdq分治. lct. - 而我学习了dzyo的线段树分治+并查集写法. 所谓线段树分治就是先把操作分成lognlognlogn个连续不相交的 ...
- S4 exercise -- 模块
写一个用户登录验证程序,文件如下1234.json {"expire_date": "2021-01-01", "id": 1234, &q ...
- 对MVC模型的自悟,详尽解释,为了更多非计算机人员可以理解
今天小编在复习之前刚刚学会的一个小项目,然后突然对MVC有了新的理解,决定迅速将其写成文档,否则可能会忘记,就算是一个顿悟,学了java语言好久了,刚刚才对其有了比较深入的理解,希望对于同样的人能够有 ...
- lpm_clshift ip仿真
今天仿真了一下lpm_clshift ip 其中din为输入的信号,sh_out为输出的信号. 以上为IP的设置. 可以看到din 的00000010 对应的step的2,一个时钟后sh_out的输出 ...
- 20170906工作日记--volley源码的相关方法细节学习
1. 在StringRequest类中的75行--new String();使用方法 /** * 工作线程将会调用这个方法 * @param response Response from the ne ...
- HDU1551&&HDU1064 Cable master 2017-05-11 17:50 38人阅读 评论(0) 收藏
Cable master Time Limit: ...
- java细节问题
保留两位小数:1.234, 1.23, 1.2, 1.0, 1. package test; import java.math.BigDecimal; import java.text.Decimal ...
- This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed(在64位模式下运行安装了32位的Oracle客户端组件时,会发生此问题)
部署win服务时出现下面的问题: 在事件查看器中看到如下错误: 日志名称: Application来源: ***调度服务日期: 2014/5/21 12:53:21事件 ID: 0任务类别: 无级别: ...