编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#21726 #1010. J. 团队配置,新奇的面试题 Accepted 100 13 ms 260 K C++ / 922 B 电类904-穆琳杰 2020-02-09 23:02:58
显示原始代码
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char a[50][50], b[50][50];
bool flag;
int sum = 0;
int main() {
    int T;
    cin >> T;
    for (int i = 1; i <= T; i++) {
        sum = 0;
        memset(a, 0, sizeof(a));
        memset(b, 0, sizeof(b));
        int M, N;
        scanf("%d%d", &N, &M);
        for (int i = 0; i < N; i++) cin >> a[i];
        int m, n, mm, nn;
        scanf("%d%d", &n, &m);
        mm = (m - 1) / 2;
        nn = (n - 1) / 2;  //计算员工地图的中点坐标
        for (int i = 0; i < n; i++) cin >> b[i];
        for (int i = 0; i < N; i++)
            for (int j = 0; j < M; j++)  //依次中心坐标在原地图的各个点;
            {
                flag = 1;  //归1
                for (int s = -nn; s <= nn; s++)
                    for (int k = -mm; k <= mm; k++)  //把员工地图的各个点同原图比较
                        if ((i + s) >= 0 && (i + s) < N && (j + k) >= 0 && (j + k) < M)
                            if (b[nn + s][mm + k] == '#' && a[i + s][j + k] == '#')  //只考虑落在原地图上的点
                                flag = 0;
                if (flag)
                    sum++;
            }
        printf("%d\n", sum);
    }
    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:13 ms
内存:260 KiB

输入文件(1.in

20
5 5
#####
#...#
#...#
#....
.....
3 3
###
###
###
5 5
#####
#####
#####
#####
#####
<27002 bytes omitted>

答案文件(1.ans

5
25
25
25
22
37
5
27
7
57
4
9
0
1
1389
895
915
1
1079
1058

用户输出

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