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
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#30787 | #1010. J. 团队配置,新奇的面试题 | Accepted | 100 | 60 ms | 408 K | C++ / 1.8 K | skystar | 2020-07-03 16:30:17 |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T, N, M, n, m = 0;
cin >> T;
int j1, k1, t = 0;
bool flag = 1;
char ch;
for (int i = 0; i < T; i++) {
vector<int> bb;
vector<int> aa;
cin >> N >> M;
for (int j = 0; j < N; j++) {
for (int k = 0; k < M; k++) {
cin >> ch;
if (ch == '#') {
t = j * 100 + k;
aa.push_back(t);
}
}
}
cin >> n >> m;
int a = (m - 1) / 2;
int b = (n - 1) / 2;
for (int j = 0; j < n; j++) {
for (int k = 0; k < m; k++) {
cin >> ch;
if (ch == '#') {
for (int l = 0; l < aa.size(); l++) {
j1 = aa[l] / 100 + b - j;
k1 = aa[l] % 100 + a - k;
if ((j1 >= 0) && (j1 < N) && (k1 >= 0) && (k1 < M)) {
int cc = j1 * 100 + k1;
flag = 1;
for (int p = 0; p < bb.size(); p++) {
if (bb[p] == cc) {
flag = false;
break;
}
}
if (flag) {
bb.push_back(cc);
}
}
}
}
}
}
cout << N * M - bb.size() << endl;
bb.clear();
aa.clear();
}
}