#include<iostream>
#include<cstdio>
using namespace std;
char a[21][21];
bool b[26];
int X[4]={0,1,0,-1}, Y[4]={1,0,-1,0};  
int m=0;
int R,C;
void DFS(int r,int c,int s)
{
    if (s m)
        m=s;
    for (int i=0;i<4;i++)
    {
        int x=r+X[i];
        int y=c+Y[i];
        
        if (x>=1&&x<=R&&y>=1&&y<=C&&!b[a[x][y]-'A'])
        {
            b[a[x][y]-'A']=1;
            DFS(x, y, s+1);
            b[a[x][y]-'A']=0;
        }
    }
}

int main()
{
    cin>>R>>C;
    for (int i=1;i<=R;i++)
    {
        for (int j=1;j<=C j++)
        {
            cin>>a[i][j];
        }
    }
    b[a[1][1]-'A']=1;
    DFS(1,1,1);
    cout<<m<<endl;
    return 0;
}
//老师的(我不会)

2.5基本算法之搜索 156:LETTERS的更多相关文章

  1. ZH奶酪:【数据结构与算法】搜索之BFS

    1.目标 通过本文,希望可以达到以下目标,当遇到任意问题时,可以: 1.很快建立状态空间: 2.提出一个合理算法: 3.简单估计时空性能: 2.搜索分类 2.1.盲目搜索 按照预定的控制策略进行搜索, ...

  2. 算法 - DNA搜索 - Ako Corasick

    场景:从很长的字符串(输入字符串.DNA)中搜索大量固定字符串(字典.基因) 题目:Determining DNA Health | HackerRank 算法:Aho–Corasick algori ...

  3. NOI / 2.5基本算法之搜索-6044:鸣人和佐助详解

    总时间限制: 1000ms 内存限制: 65536kB 题目 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢? 已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置.地图上的每个位置都可以走到, ...

  4. 搜索练习题LETTERS

    题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1212    或者http://poj.org/problem?id=1154 题目描述: 给 ...

  5. UVA - 11212 Editing a Book(IDA*算法+状态空间搜索)

    题意:通过剪切粘贴操作,将n个自然段组成的文章,排列成1,2,……,n.剪贴板只有一个,问需要完成多少次剪切粘贴操作可以使文章自然段有序排列. 分析: 1.IDA*搜索:maxn是dfs的层数上限,若 ...

  6. elasticsearch算法之搜索模型(一)

    面对海量的信息,我们很容易被淹没在信息的海洋中:当我们需要查找某个信息的时候,我们就会输入能够体现我们意图的关键字,搜索引擎会通过解析我们的关键字从而构造相应的查询表示方法:然后搜索引擎通过构造的查询 ...

  7. 算法基础⑨搜索与图论--存在负权边的最短路--bellman_ford算法

    bellman-ford算法 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你求出从 1 号点到 n 号点的最多经过 k 条边的最短距离,如果无法从 1 号点走到 ...

  8. 算法基础⑧搜索与图论--dijkstra(迪杰斯特拉)算法求单源汇最短路的最短路径

    单源最短路 所有边权都是正数 朴素Dijkstra算法(稠密图) #include<cstdio> #include<cstring> #include<iostream ...

  9. 算法基础⑦搜索与图论--BFS(宽度优先搜索)

    宽度优先搜索(BFS) #include<cstdio> #include<cstring> #include<iostream> #include<algo ...

  10. [经典算法] 字符串搜索Boyer-Moore

    题目说明: 今日的一些高阶程式语言对于字串的处理支援越来越强大(例如Java.C#.Perl等),不过字串搜寻本身仍是个值得探讨的课题,在这边以Boyer- Moore法来说明如何进行字串说明,这个方 ...

随机推荐

  1. Cesium开发三维地图入门

    需求:要求将GLTF三维模型放到地图上展示,并且添加各种图标和线进行标注. 用CesiumJS地图库实现代码如下: 引入CesiumJS库 1.直接clone源码包,在index.html中引入,如下 ...

  2. 关于 map 的迭代器

    今天遇到一个问题 CountCompileResult(const LIST_MAP & rfLmCompileWafers) {        for (auto itr = rfLmCom ...

  3. Xamarin.Android 踩坑记

    将数据发送给微信 var dbFile = Path.Combine(DBSetting.GetSetting().DBDirectory, $"{BLL.SelectProject.DBN ...

  4. bladex 通用日志不入库,日志无法使用

    公司最近要记录操作日志,然后用的是bladex脚手架.想起来刚好有自带的日志管理功能,然后就很happy的将日志功能授权给了管理员. 也就是那几个通用日志.接口日志.错误日志. 结果人傻了,根本不会记 ...

  5. spring-cloud-alibaba-dubbo踩坑记

    在https://start.aliyun.com/bootstrap.html下载了示例程序,用的版本如下: spring-boot:2.3.7.RELEASE spring-cloud-aliba ...

  6. springboot1.x apollo 更改属性值不起作用。 ConfigurationProperties

    1. @ApolloConfigChangeListeners 默认监控命名空间是 application.properties , 如果是自己创建的namespace ,一定要明确指定(包含文件扩展 ...

  7. Django不使用序列化器时来进行查询结果序列化

    1.views.py文件中的代码 class DemoView(View): def get(self, request): user = User.object.all() list1 = [] f ...

  8. 2022-3-16内部群每日三题-清辉PMP

    1.项目经理正在为客户管理一个跨国项目,拟采用最新技术替换其电信基础设备.项目经理得知,在某些国家,必须遵循特定的环境规定来处置被替换的硬件.在制定商业论证时,未考虑到这些规定,项目经理应该怎么做? ...

  9. JavaScript Math(算数) 对象

    JavaScript Math(算数) 对象 Math(算数)对象的作用是:执行常见的算数任务. 在线实例 round()如何使用 round(). random()如何使用 random() 来返回 ...

  10. 【批处理】启动 VMware 服务的简单批处理脚本

    早些时候编写的一个启动VMware服务的简单批处理脚本. 主要是记录一下自动提升运行权限的命令,不用再右键"以管理员身份运行". @echo off mode con cols=9 ...