关注
#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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
11-24 17:07
西南交通大学 交易师 点赞 评论 收藏
分享
查看8道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 工作前VS工作后,你的心态变化 #
526次浏览 11人参与
# 公司福利里最没用的一项是啥 #
1006次浏览 33人参与
# 哪一瞬间让你觉得“这班不如不上” #
168次浏览 1人参与
# 毕业季,给职场新人一些建议 #
160508次浏览 2347人参与
# 工作中出现了XX情况正常吗 #
234次浏览 9人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
1440次浏览 20人参与
# 你被哪些公司挂了? #
105776次浏览 651人参与
# 牛友们的论文几号送审 #
61143次浏览 831人参与
# 你在职场上见过哪些“水货”同事 #
21211次浏览 150人参与
# 华勤技术工作体验 #
12126次浏览 22人参与
# 如何用一句话描述你的职业 #
27237次浏览 175人参与
# 找工作,行业重要还是岗位重要? #
83013次浏览 1664人参与
# 运营人的第一份offer应该如何选 #
199534次浏览 1227人参与
# 你们公司哪个部门最累? #
35343次浏览 245人参与
# 机械人还在等华为开奖吗? #
285685次浏览 1468人参与
# 如果没找到工作,考公是你的退路吗 #
57994次浏览 431人参与
# 最难的技术面是哪家公司? #
59102次浏览 928人参与
# 找工作如何保持松弛感? #
124287次浏览 1445人参与
# 职场上哪些事情令人讨厌 #
31021次浏览 127人参与
# 毕业季,你想好怎么跟生活对线了吗? #
259797次浏览 3848人参与