20
5 5
#####
#...#
#...#
#....
.....
3 3
###
###
###
5 5
#####
#####
#####
#####
#####
<27002 bytes omitted>
用户输出
5
25
25
25
22
37
5
27
7
57
4
9
0
1
1389
895
915
1
1079
1058
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#21083 | #1010. J. 团队配置,新奇的面试题 | Accepted | 100 | 5 ms | 224 K | C++ 11 / 1.2 K | TO_THE_MOON | 2019-12-21 17:37:36 |
#include <cstdio>
// #include <windows.h>
#include <algorithm>
using namespace std;
int main() {
int T, N, M, n, m;
scanf("%d", &T);
char p[50][50], p1[50][50];
while (T--) {
scanf("%d%d", &N, &M);
for (int i = 0; i < N; i++) {
scanf("%s", &p[i]);
}
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++) {
scanf("%s", &p1[i]);
}
int cnt = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
bool flag = true;
for (int u = max(0, i - (n - 1) / 2); u <= min(N - 1, i + (n - 1) / 2); u++) {
for (int v = max(0, j - (m - 1) / 2); v <= min(M - 1, j + (m - 1) / 2); v++) {
if (flag == false)
break;
if (p[u][v] == '#' && p1[u - (i - (n - 1) / 2)][v - (j - (m - 1) / 2)] == '#') {
flag = false;
}
}
if (flag == false)
break;
}
if (flag) {
cnt++;
}
}
}
printf("%d\n", cnt);
}
// system("pause");
return 0;
}