#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. Vue + Element table的@select方法获取当table中的id值都相同时,获取他们索引

    先说下问题情况,原本通过双重forEach方法方法,遍历可以获取到被勾选中的索引. let arr = []val.forEach((val, index) => { this.TableDat ...

  2. 【git】3.3 git分支-分支管理

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86 ...

  3. CSS渐变样色的字

    width: 118px; height: 17px; font-size: 13px; font-family: MicrosoftYaHei-Bold, MicrosoftYaHei; font- ...

  4. Hyper-v 安装openwrt

    安装注意事项: 1.只能选一代,网卡可以使用新版2.网卡高级设置,MAC地址欺骗一定要选上,不选外部交换机不能上网.3.防火墙做wan口转发4.防火墙wan口,两个reject改为 accept . ...

  5. MYSQL表操作(中篇)--数据类型

    1.数据类型 数值类型 1.整数类型 整数类型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT 作用:存储年龄,等级,id,各种号码等 默认是有符号的 int[(m)][u ...

  6. .Net Core WebApi 控制器自动创建文件夹上传图片

    /// <summary> /// 异步图片或文件上传 /// </summary> /// <param name="formFile">&l ...

  7. Flink写入Redis集群 重写flink-connector-redis包,解决Cluster无法输入密码问题

    起因:使用flink的时候难免和redis打交道,相信大家都使用过flink-connector-redis来处理,但是当我想要使用RedisSink写入集群时,发现居然不支持使用密码,于是有了这篇笔 ...

  8. Python用telnet设置,抓UDP抓采样点并显示

    ====main.bat==== echo off rem "d:\Program\WiresharkPortable64\App\Wireshark\tshark.exe" -- ...

  9. python manage.py loaddata dumpdata 用于导出和导入数据库中的数据

    1.数据导出python  manage.py  dumpdata python manage.py dumpdata [appname] > appname_data.json 指定appna ...

  10. Unity SRP Batcher的工作原理

    https://blog.csdn.net/zakerhero/article/details/107714801