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 ...
随机推荐
- hdu-1070(水题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1070 题意:一个人喝牛奶,有三个原则: 1.牛奶的日期不超过6天,就是最多5天. 2.每次只喝200m ...
- 45 The Effect of External Rewards on Behavior 外界奖励对行为的影响
The Effect of External Rewards on Behavior 外界奖励对行为的影响 ①Psychologists take opposing views on how exte ...
- js级联出生日期
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- deploy myeclipse j2ee project to server 按了没反应 怎么办
解决办法: 1.如果工作空间的问题,那么需要删除你工作空间的一个文件就可以解决了. 这个文件在Myeclipse工作区(workspace) .metadata\.plugins\org.eclips ...
- UVaLive 2531 The K-League (网络流)
题意:有 n 个队伍进行比赛,每个队伍比赛数目是一样的,每场恰好一个胜一个负,给定每个队伍当前胜的场数败的数目,以及两个队伍剩下的比赛场数,问你冠军队伍可能是哪些队. 析:对每个队伍 i 进行判断是不 ...
- HDU 2161 Primes (素数筛选法)
题意:输入一个数判断是不是素数,并规定2不是素数. 析:一看就很简单吧,用素数筛选法,注意的是结束条件是n<0,一开始被坑了... 不说了,直接上代码: #include <iostrea ...
- 硬盘坏道检测工具对比(DiskGenius/HdTunePro/MHDD等)
说到硬盘检测软件,大家肯定会想到MHDD,但是MHDD真的好用?反正我觉得太难用了,只能在DOS下运行,不能在Win系统下运行:最重要的是只支持IDE硬盘模式,现在的主板几乎全部默认都是AHCI模式, ...
- (KMP 字符串处理)Substrings -- hdu -- 1238
http://acm.hdu.edu.cn/showproblem.php?pid=1238 Substrings Time Limit:1000MS Memory Limit:32768KB ...
- hbase使用MapReduce操作2(微博表实现)
package com.yjsj.weibo; import java.io.IOException; import java.util.ArrayList; import java.util.Ite ...
- Eclipse代码提示功能设置
1. 解决实例化时自动补全不必要的单词问题 2. 以MyEclipse 6.5重新配图 鉴 于网上的批评之声甚大,我只想说明我的想法:这样的增强代码提示,最终是用来辅助我们 ...