Advertisement

156:LETTERS 2.5基本算法之搜索

阅读量:

LETTERS分类与编号解析

总时间限制: 1000ms 内存限制: 65536kB
描述
一款单人游戏在一块被划分为R行C列的矩形棋盘上进行。棋盘上的每一个位置都标记着一个大写字母(A-Z)。
游戏开始前,棋子位于棋盘左上角的位置(第一行第一列)。在每次移动中,玩家可以将棋子移动至相邻的四个方向之一(上、下、左或右)。唯一的限制条件是,棋子不能重复访问标记有相同字母的位置。
游戏的目标是尽可能多地进行移动。
编写一个程序,用于计算在一次游戏中棋子能够访问的棋盘位置的最大数量。
输入
输入的第一行包含两个整数R和C,中间用一个空格分隔,1 <= R, S <= 20。
接下来的R行每行包含S个字符,每一行代表棋盘的一行。
输出
输出的第一行且唯一一行应包含在一次游戏中棋子能够访问的最大位置数。
样例输入
3 6
HFDFFB
AJHGDH
DGAGEH
样例输出
6

复制代码
    #include<iostream>
    #include<string.h>
    using namespace std;
    //http://noi.openjudge.cn/ch0205/156/
    //简单的DFS搜索,要求最长路径,所以标记数组每次递归回来要重置 
    int r,s,r

全部评论 (0)

还没有任何评论哟~