QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#365227#2880. Letters Q and FhazeAC ✓22ms7480kbC++232.1kb2024-03-24 22:05:382024-03-24 22:05:39

Judging History

你现在查看的是最新测评结果

  • [2024-03-24 22:05:39]
  • 评测
  • 测评结果:AC
  • 用时:22ms
  • 内存:7480kb
  • [2024-03-24 22:05:38]
  • 提交

answer

/*

Author: Haze

2024/3/24

*/

#include <bits/stdc++.h>

#define irep(i, l, r) for(int i = (l); i <= (r); ++ i)
#define drep(i, r, l) for(int i = (r); i >= (l); -- i)
#define IOS ios::sync_with_stdio(false), cin.tie(nullptr);
using namespace std;
typedef long long ll;

inline ll read() {
    ll s = 0;
    bool fl = false;
    char ch = (char) getchar();
    while (!isdigit(ch)) {
        if (ch == '-')fl = true;
        ch = (char) getchar();
    }
    while (isdigit(ch)) {
        s = s * 10 + (ch ^ 48);
        ch = (char) getchar();
    }
    return fl ? -s : s;
}

const int mod = 1000000000 + 7;
const int itinf = 1000000999;
const ll llinf = 2e18;
const int N = 500099;

void solve() {
    int n = read(), m = read();
    vector<string> a(n);
    set<int> s;
    irep(i, 0, n - 1) {
        cin >> a[i];
    }
    irep(i, 0, n - 1) {
        irep(j, 0, m - 1) {
            if (a[i][j] == '#')s.emplace(j * n + i);
        }
    }
    int F = 0, Q = 0;
    vector<array<int, 2>> patF = {
            {0, 0},
            {0, 1},
            {0, 2},
            {1, 0},
            {2, 0},
            {2, 1},
            {3, 0},
            {4, 0}
    };
    vector<array<int, 2>> patQ = {
            {0, 0}, {0, 1}, {0, 2}, {1, 0}, {1, 2}, {2, 0}, {2, 1}, {2, 2}, {3, 2}, {4, 2}
    };
    while (s.size()) {
        int P = *s.begin();
        int y = P / n, x = P % n;
        int isF = 1;
        for (auto [dx, dy]: patF) {
            if(!s.contains((y + dy) * n + x + dx)){
                isF = 0;
                break;
            }
        }
        if(isF){
            ++ F;
            for (auto [dx, dy]: patF) {
                s.erase((y + dy) * n + x + dx);
            }
        }
        else{
            ++ Q;
            for (auto [dx, dy]: patQ) {
                s.erase((y + dy) * n + x + dx);
            }
        }
    }
    cout << Q << ' ' << F;
}

int main() {
    // IOS
    int T = 1;
    while (T--) {
        solve();
    }
    return 0;
}
/*
12 5
###..
#.###
###.#
#.###
#####
.#..#
.##..
.####
.##.#
..###
....#
....#

 2 2
 */

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3596kb

input:

5 3
###
#.#
###
..#
..#

output:

1 0

result:

ok single line: '1 0'

Test #2:

score: 0
Accepted
time: 1ms
memory: 3804kb

input:

5 3
###
#..
##.
#..
#..

output:

0 1

result:

ok single line: '0 1'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

5 8
###..###
#.#..#..
###..##.
..#..#..
..#..#..

output:

1 1

result:

ok single line: '1 1'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3768kb

input:

8 8
.....###
###..#.#
#.######
###.####
#.###.##
#.#.###.
..#...#.
......#.

output:

2 2

result:

ok single line: '2 2'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3512kb

input:

10 10
....###...
....#.###.
....###...
....#.##..
###.#.####
#.###.##..
###.#..##.
#.###..#..
#...#..#..
....#.....

output:

1 4

result:

ok single line: '1 4'

Test #6:

score: 0
Accepted
time: 1ms
memory: 3672kb

input:

50 50
###..................###.......###...###.......###
#.....###.........####..###....#.....#.####.####.#
#####.#...######..#.###.#.###..##....####...#..###
#.#...##..#.##....####..###....#.......###..##...#
#.##..#...#####.###.##..#.##...#.###...##...#....#
..#####.###.##..#.#.#...#.#......#.####...

output:

66 70

result:

ok single line: '66 70'

Test #7:

score: 0
Accepted
time: 2ms
memory: 3852kb

input:

100 100
....###..###........######..###..###..........###....................................###...###......
.####....#.#..#######.##.####.#..#.#....###...#....###........###...###..###..###.####.....#.####...
.#..##...###..#.##..######.####..###.####.....######..........#..####....#.####...#..##.##...

output:

280 298

result:

ok single line: '280 298'

Test #8:

score: 0
Accepted
time: 10ms
memory: 5888kb

input:

300 300
...............###.###....###..###....######........###...###..###..###....###..........###..######......###....#########...............###.............###.###..###.###.........###.........###..........###....###.######.......###......###.....###...................###..###.......###............

output:

2472 2694

result:

ok single line: '2472 2694'

Test #9:

score: 0
Accepted
time: 1ms
memory: 3628kb

input:

5 298
.############.######..#########.######.###.######.######.######.##################.############.###..###..###..###.###.#####################.###..#########..###..###.###.######..###..###..###.######.###..###..######..###.###.###.######.###.###..######..#########.#########.######.###..###.#####...

output:

41 39

result:

ok single line: '41 39'

Test #10:

score: 0
Accepted
time: 1ms
memory: 3796kb

input:

299 3
###
#..
##.
#..
#..
...
...
###
#.#
###
..#
..#
...
...
...
###
#.#
###
..#
..#
...
###
#.#
###
..#
..#
###
#.#
###
..#
..#
...
###
#..
##.
#..
#..
...
...
...
###
#..
##.
#..
#..
###
#.#
###
..#
..#
...
...
###
#..
##.
#..
#..
...
...
###
#.#
###
..#
..#
###
#.#
###
..#
..#
###
#..
##.
#..
#....

output:

26 20

result:

ok single line: '26 20'

Test #11:

score: 0
Accepted
time: 4ms
memory: 4460kb

input:

123 234
.........###....###.###....###....###....###....###.....###.......######...........###..............###.###....###.......###...###......###........###............................###........###.......###....###...###..###..###.........
###..###.#...####.#.#.#....#.#.####.####.#.#....#..###..#...

output:

785 838

result:

ok single line: '785 838'

Test #12:

score: 0
Accepted
time: 2ms
memory: 4352kb

input:

234 123
.###........###.###...........###..######.............###....###...######..######................................###.......
.#.#........#.#.#.#.###..###..#....#..#.#.............#.####.#.#...#..#.#..#..#.........###..............###.###.#.#######.
.###........###.###.#.####.#####...##.###......

output:

805 836

result:

ok single line: '805 836'

Test #13:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

5 3
...
...
...
...
...

output:

0 0

result:

ok single line: '0 0'

Test #14:

score: 0
Accepted
time: 2ms
memory: 3684kb

input:

300 300
.......................................................................................................................................................................................................................................................................................................

output:

0 0

result:

ok single line: '0 0'

Test #15:

score: 0
Accepted
time: 22ms
memory: 7480kb

input:

300 300
###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###......

output:

8019 0

result:

ok single line: '8019 0'

Test #16:

score: 0
Accepted
time: 17ms
memory: 6924kb

input:

300 300
###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###........###......

output:

0 8019

result:

ok single line: '0 8019'