关注
#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;
}
查看原帖
点赞 评论
相关推荐
02-25 23:53
西北工业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习要如何选择和准备? #
12326次浏览 270人参与
# 牛友们的论文几号送审 #
19741次浏览 538人参与
# 携程求职进展汇总 #
204366次浏览 1713人参与
# 美团求职进展汇总 #
1639782次浏览 14794人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
23088次浏览 448人参与
# 字节求职进展汇总 #
711131次浏览 7208人参与
# 比亚迪秋招开啦,你打算投递吗? #
65498次浏览 558人参与
# 面试等了一周没回复,还有戏吗 #
98627次浏览 911人参与
# TCL求职进展汇总 #
102776次浏览 593人参与
# 运营人的第一份offer应该如何选 #
126753次浏览 1051人参与
# 机械人的工作环境真的很差吗 #
16203次浏览 104人参与
# 正在实习的你,几点下班 #
101913次浏览 735人参与
# 稳定和高薪机械人更看重哪个? #
424065次浏览 5305人参与
# 科大讯飞工作体验 #
15765次浏览 48人参与
# 满分简历要如何准备? #
18236次浏览 318人参与
# TCL提前批进度交流 #
28827次浏览 175人参与
# 面试被问第一学历差时该怎么回答 #
104542次浏览 659人参与
# 讲讲我的真实离职原因 #
33358次浏览 623人参与
# 听劝,这个公司值得去吗 #
406765次浏览 1564人参与
# 我想去国央企的原因 #
53282次浏览 327人参与
# 牛友打假中心 #
42472次浏览 2355人参与