关注
#include <cstdio>
#include <cstdlib>
#include <string>
#include <iostream>
#include <cstring>
using namespace std;
const int maxn = 100;
enum DIR {
RIGHT,
LOW,
RLOW
};
int dfs(char maze[maxn][maxn], int m, int n, string s, string find, int idx, int x, int y, DIR d) {
if (s == find) return 1;
if (idx >= find.size()) return 0;
if (s[idx] != find[idx]) return 0;
int right = 0, low = 0, rlow = 0;
if (d == RIGHT && y + 1 < n) {
right = dfs(maze, m, n, s + maze[x][y + 1], find, idx + 1, x, y + 1, RIGHT);
}
if (d == LOW && x + 1 < m) {
low = dfs(maze, m, n, s + maze[x + 1][y], find, idx + 1, x + 1, y, LOW);
}
if (d == RLOW && x + 1 < m && y + 1 < n) {
rlow = dfs(maze, m, n, s + maze[x + 1][y + 1], find, idx + 1, x + 1, y + 1, RLOW);
}
return right + low + rlow;
}
int main()
{
int t;
char maze[maxn][maxn];
string find;
cin >> t;
while (t--) {
memset(maze, 0, sizeof(maze));
int m, n;
cin >> m >> n;
for (int i = 0; i < m; ++i) {
cin >> maze[i];
}
cin >> find;
int ans = 0;
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
string s("");
int r = dfs(maze, m, n, s + maze[i][j], find, 0, i, j, RIGHT);
int l = dfs(maze, m, n, s + maze[i][j], find, 0, i, j, LOW);
int rl = dfs(maze, m, n, s + maze[i][j], find, 0, i, j, RLOW);
ans = ans + r + l + rl;
}
}
cout << ans << endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何准备秋招 #
8495次浏览 150人参与
# 软开人,秋招你打算投哪些公司呢 #
100368次浏览 941人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
21223次浏览 181人参与
# 你觉得实习能学到东西吗 #
12318次浏览 301人参与
# 秋招什么时候开投比较合适? #
5075次浏览 110人参与
# 实习,不懂就问 #
24175次浏览 369人参与
# 每个月的工资都是怎么分配的? #
11921次浏览 272人参与
# 你觉得现在还能进互联网吗? #
3855次浏览 91人参与
# 技术岗笔试题求解 #
75271次浏览 974人参与
# 预测一下26届秋招形势 #
19772次浏览 207人参与
# 你最近一次加班是什么时候? #
67587次浏览 346人参与
# 高考出分的那一天,我__ #
13703次浏览 230人参与
# 打工人的精神状态 #
53200次浏览 966人参与
# 米哈游工作体验 #
17500次浏览 116人参与
# 机械实习一天多少钱合适? #
28678次浏览 176人参与
# 你觉得实习只能是打杂吗? #
191958次浏览 1211人参与
# 聊聊你的职场新体验 #
161103次浏览 1389人参与
# 来聊聊你认为的薪资天花板是哪家? #
30656次浏览 174人参与
# 安利/避雷我的专业 #
75802次浏览 522人参与
# 牛客十周岁生日快乐 #
144801次浏览 1609人参与
# 你们公司几号发工资 #
18667次浏览 116人参与