编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#49310 #1010. J. 团队配置,新奇的面试题 Time Limit Exceeded 0 1009 ms 388 K C++ 17 / 2.2 K ymz 2021-06-19 16:22:35
显示原始代码
#include <bits/stdc++.h>
using namespace std;
#define ulli unsigned long long int
#define F(i, n, m) for (int i = n; i <= m; i++)

inline int read() {
    bool w = 0;
    int s = 0;
    char ch = 0;
    while (!isdigit(ch)) w = ch == '-', ch = getchar();
    while (isdigit(ch)) s = (s << 3) + (s << 1) + (ch ^ 48), ch = getchar();
    return w ? -s : s;
}

inline void write(int x) {
    if (x < 0)
        putchar('-'), x = ~x + 1;
    if (x > 9)
        write(x / 10);
    putchar((x % 10) | 48);
}

int main() {
    freopen("1.in", "r", stdin);
    int T = read(), n1, m1, n2, m2, cn, cm, ans, sj, sk;
    char c;
    bool s[50][50], h[50][50];
    for (int i = 1; i <= T; i++) {
        ans = 0;
        n1 = read();
        m1 = read();
        for (int j = 0; j < n1; j++) {
            for (int k = 0; k < m1; k++) {
                cin >> c;
                while (c != '#' && c != '.') cin >> c;
                if (c == '#')
                    s[j][k] = 1;
                else
                    s[j][k] = 0;
            }
        }
        n2 = read();
        m2 = read();
        cn = n2 / 2;
        cm = m2 / 2;
        for (int j = 0; j < n2; j++) {
            for (int k = 0; k < m2; k++) {
                cin >> c;
                while (c != '#' && c != '.') cin >> c;
                if (c == '#')
                    h[j][k] = 1;
                else
                    s[j][k] = 0;
            }
        }
        for (int j = 0; j < n1; j++) {
            for (int k = 0; k < m1; k++) {
                for (int j2 = 0; j2 < n2; j2++) {
                    sj = j - cn + j2;
                    if (sj < 0 || sj >= n1)
                        continue;
                    for (int k2 = 0; k2 < m2; k2++) {
                        sk = k - cm + k2;
                        if (sk < 0 || sk >= m1)
                            continue;
                        if (s[sj][sk] == 1 && h[j2][k2] == 1) {
                            goto noch;
                        }
                    }
                }
                ans++;
            noch:;
            }
        }
        write(ans);
        printf("\n");
    }
    return 0;
}
子任务 #1
Time Limit Exceeded
得分:0
测试点 #1
Time Limit Exceeded
得分:0
用时:1009 ms
内存:388 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