QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#640025#5514. MazeBucketsmith8 210ms29260kbC++202.1kb2024-10-14 01:51:362024-10-14 01:51:37

Judging History

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

  • [2024-10-14 01:51:37]
  • 评测
  • 测评结果:8
  • 用时:210ms
  • 内存:29260kb
  • [2024-10-14 01:51:36]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

using pii = pair<int, int>;
const int N = 3030;

int r, c, n;

string g[N];
vector<int> d[N], nxt[N], nxtR[N];
deque<pii> q;

void record(int x, int y, int z) {
    if(x < 0 || x >= r || y < 0 || y >= c || g[x][y] != '.' || d[x][y] != -1) return;
    d[x][y] = z;
    q.emplace_front(x, y);
}

int findR(int x, int y) {
    return nxtR[x][y] == x ? x : nxtR[x][y] = findR(nxtR[x][y], y);
}

int findC(int x, int y) {
    return nxt[x][y] == y ? y : nxt[x][y] = findC(x, nxt[x][y]);
}

void stamp(int x, int y, int z) {
    x = min(max(x, 0), r - 1);
    y = min(max(y, 0), c - 1);
    for(int i = findR(x, y); i < r && i - x < n; i = nxtR[i][y] = findR(i + 1, y))
        for(int j = findC(i, y); j < c && j - y < n; j = nxt[i][j] = findC(i, j + 1)) {
            d[i][j] = z + 1;
            q.emplace_back(i, j);
        }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> r >> c >> n;
    int sr, sc, tr, tc;
    cin >> sr >> sc >> tr >> tc;
    for(int i = 0; i < r; i ++) {
        cin >> g[i];
        d[i] = vector<int>(c, -1);
        nxt[i] = vector<int>(c + 1, c);
        nxtR[i] = vector<int>(c, r);
    }
    nxtR[r] = vector<int>(c, r);

    for(int i = 0; i < r; i ++)
        for(int j = c - 1; j >= 0; j --) {
            nxt[i][j] = g[i][j] == '#' ? j : nxt[i][j + 1];
            nxtR[i][j] = i;
        }

    sr --;
    sc --;
    tr --;
    tc --;
    d[sr][sc] = 0;
    
    q.emplace_back(sr, sc);
    while(q.size()) {
        auto [x, y] = q.front();
        q.pop_front();

        record(x, y - 1, d[x][y]);
        record(x - 1, y, d[x][y]);
        record(x, y + 1, d[x][y]);
        record(x + 1, y, d[x][y]);
        
        stamp(x - (n - 1), y - n, d[x][y]);
        stamp(x - n, y - (n - 1), d[x][y]);
        stamp(x + (n - 1), y - n, d[x][y]);
        stamp(x + n, y - (n - 1), d[x][y]);
        stamp(x - (n - 1), y + n, d[x][y]);
        stamp(x - n, y + (n - 1), d[x][y]);
        stamp(x + (n - 1), y + n, d[x][y]);
        stamp(x + n, y + (n - 1), d[x][y]);
    }

    cout << d[tr][tc] << "\n";
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 8
Accepted

Test #1:

score: 8
Accepted
time: 1ms
memory: 3744kb

input:

31 32 1
25 22
5 3
################################
################################
.###############################
.###############################
##..###############.############
###.###############.############
#####.##########################
###.#.##########################
###.##############...

output:

26

result:

ok single line: '26'

Test #2:

score: 8
Accepted
time: 1ms
memory: 3756kb

input:

31 32 1
31 5
18 30
................................
..........................#.....
................................
.................#..............
................................
................................
....#...........................
................................
....................

output:

0

result:

ok single line: '0'

Test #3:

score: 8
Accepted
time: 1ms
memory: 3680kb

input:

31 32 1
7 10
1 32
.#...#.####...#.####..###..####.
.#.##.#..#.###.#.#####.#..#..##.
.#.#######.########..#.#....#.#.
####.##########.####.#..###...##
####.##....####.####..####.##.##
##.###..#####..#.###..#.##.#.#.#
####.###...##.........###.#.####
.##..##.##.######....##.#####.##
####.#.###.##.#......

output:

5

result:

ok single line: '5'

Test #4:

score: 8
Accepted
time: 1ms
memory: 3684kb

input:

31 32 1
18 18
1 18
#################.##############
################################
################################
################################
################################
################################
###############.################
################################
#################...

output:

15

result:

ok single line: '15'

Test #5:

score: 8
Accepted
time: 1ms
memory: 3716kb

input:

1 1000 1
1 597
1 432
..........................................................#..........................................................................................................................................#................................................................#...................

output:

0

result:

ok single line: '0'

Test #6:

score: 8
Accepted
time: 1ms
memory: 3980kb

input:

1 1000 1
1 354
1 826
#############################################################.#########################################################################################################################################################################################################################...

output:

463

result:

ok single line: '463'

Test #7:

score: 8
Accepted
time: 1ms
memory: 3724kb

input:

1 4 1
1 4
1 3
#...

output:

0

result:

ok single line: '0'

Test #8:

score: 8
Accepted
time: 0ms
memory: 3608kb

input:

1 45 1
1 8
1 20
#######.####.#####..#####################.###

output:

9

result:

ok single line: '9'

Test #9:

score: 8
Accepted
time: 0ms
memory: 3700kb

input:

3 13 1
1 5
2 3
.....##.....#
.#....##.##..
......#......

output:

0

result:

ok single line: '0'

Test #10:

score: 8
Accepted
time: 0ms
memory: 3668kb

input:

1 2 1
1 1
1 2
..

output:

0

result:

ok single line: '0'

Test #11:

score: 8
Accepted
time: 0ms
memory: 3704kb

input:

1 148 1
1 91
1 89
.####.#.###...#..####..####.###..#...#.##.#####.######.#.#....#...####..##.#.#.##...##...#.##.#.#####.#####...#.#.###.#.#...##...###..#...##..##.###

output:

1

result:

ok single line: '1'

Test #12:

score: 8
Accepted
time: 0ms
memory: 3920kb

input:

2 84 1
1 11
1 62
.#..#.##.#.#.##.#.##.#.#...######.#.###...##.#####....##.##.#..###.###.##...##.#...#
.#....##.#.#..#...#....##..###..#.##.#...###.#.#.###...##.#....#...##.#..####.#.###.

output:

20

result:

ok single line: '20'

Test #13:

score: 8
Accepted
time: 0ms
memory: 3948kb

input:

1 59 1
1 6
1 20
#.###.########.###..##.####.###.##.##########.########..#.#

output:

11

result:

ok single line: '11'

Test #14:

score: 8
Accepted
time: 1ms
memory: 3748kb

input:

31 32 1
31 5
18 30
................................
..#...####.######..##.#.####.##.
..#.#.####.#####.##..######..#..
.##.####.#.#.#...##.##########..
..#...###.#####...####.#####.##.
.#..###....#.#.#.##..###.#..#.#.
.#.###..###.###.#####.#.#######.
..#...#.####.########...#..####.
..#..#.##...........

output:

0

result:

ok single line: '0'

Test #15:

score: 8
Accepted
time: 1ms
memory: 3980kb

input:

31 32 1
17 32
11 7
................................
.#.##.#..#.###.#######.#.###.##.
.#.#######.#########.#.#....#.#.
.###.##########.####.#..###.#.#.
.######.#..##########.####.##.#.
.#.###..######.#.###..#.##.#.#..
.###.###.#.##........######.###.
.##.###.##.######....##.#####.#.
.#####.###.####.....

output:

2

result:

ok single line: '2'

Test #16:

score: 8
Accepted
time: 1ms
memory: 3684kb

input:

31 32 1
7 11
13 25
................................
.##############################.
.##############################.
.##############################.
.##############################.
.##############################.
.#########.####.###############.
.##############################.
.################...

output:

11

result:

ok single line: '11'

Test #17:

score: 8
Accepted
time: 5ms
memory: 4408kb

input:

244 245 1
226 133
105 7
.####.##################################################.###.#############.########.#######.#########################################.################.####.#################.######################################.###########.######.#####.######.
.####.######.#####.#####.#####...

output:

163

result:

ok single line: '163'

Test #18:

score: 8
Accepted
time: 3ms
memory: 4172kb

input:

1 46212 1
1 39597
1 10273
#########################################.########################.##############################################################################################.##################.########.####################.##########################################.####################...

output:

28589

result:

ok single line: '28589'

Test #19:

score: 8
Accepted
time: 5ms
memory: 4724kb

input:

244 245 1
226 133
105 7
..................................................#...............................................................................................#........................................................#.........................................
.................................

output:

0

result:

ok single line: '0'

Test #20:

score: 8
Accepted
time: 8ms
memory: 4536kb

input:

244 245 1
214 117
83 245
.##..#.###.##.#.###.#..#####....#..##.##..##.##.#.###.#.##.####.###.....#.#...###.#.###..##.#.##.####..##..#..##....#.###.##.#########.#.#.##.##.#.####.##.##.##.#.##.##..##.##.#..#.#...##..##..#..#..#..####.#.###.##.#..#.#####....##.##.##.#.##..
#.###.##.#..###...###########...

output:

45

result:

ok single line: '45'

Test #21:

score: 8
Accepted
time: 5ms
memory: 4460kb

input:

244 245 1
15 226
207 34
########################################################################################################################################################################.############################################################################
##############################...

output:

340

result:

ok single line: '340'

Test #22:

score: 8
Accepted
time: 4ms
memory: 4376kb

input:

1 60000 1
1 59085
1 9263
.........................................................................................................................................................................................................................................................#............................

output:

496

result:

ok single line: '496'

Test #23:

score: 8
Accepted
time: 4ms
memory: 4492kb

input:

1 60000 1
1 57861
1 18234
##################.###########.##################.###################################################################.#################.#####.##########################################################################.###########################.#########.##################....

output:

39210

result:

ok single line: '39210'

Test #24:

score: 8
Accepted
time: 8ms
memory: 4572kb

input:

244 245 1
226 133
105 7
.....................................................................................................................................................................................................................................................
..#...#.#..####..####.......##...

output:

2

result:

ok single line: '2'

Test #25:

score: 8
Accepted
time: 8ms
memory: 4480kb

input:

244 245 1
214 117
83 245
.....................................................................................................................................................................................................................................................
..###.##.#..###...###########...

output:

8

result:

ok single line: '8'

Test #26:

score: 8
Accepted
time: 5ms
memory: 4520kb

input:

244 245 1
15 226
207 34
.....................................................................................................................................................................................................................................................
.#############################...

output:

44

result:

ok single line: '44'

Test #27:

score: 8
Accepted
time: 13ms
memory: 5588kb

input:

387 387 1
335 36
90 357
##########.##########.#######.#########.####.##########################.#################.##############################################################.######################.###################.##.###########.#####################.############.##################.#.#########...

output:

384

result:

ok single line: '384'

Test #28:

score: 8
Accepted
time: 6ms
memory: 4324kb

input:

2 30695 1
1 15156
1 6032
#..####.##..##..##.##.##..######.##.#.###.###########...####.#.###.#.###.#..###.#.###....###.#####..#...##.##.######.####.#######.######..#...#.#.##....##.##.#..#.#######.#.####.#.#####.##......###.#.#...#..#####.#.###.#####.############..###.#.#####.#...#.##...#..#.###..##....

output:

4487

result:

ok single line: '4487'

Test #29:

score: 8
Accepted
time: 12ms
memory: 6264kb

input:

387 387 1
55 282
267 35
.......................................................................................................................................................................................................................................................................................

output:

0

result:

ok single line: '0'

Test #30:

score: 8
Accepted
time: 19ms
memory: 5864kb

input:

387 387 1
287 270
56 102
#.#####.###..#..#.##..######...####..####.###..####.....#######.##..##..#.###.#..#..##.##.#...#.#.#.#.####.##...#.##..#.#.#..####.##.##.###......#.####..#####.####..##.#.#.#####..####.####.###.###..#.....#######.###.###.##..#.##..#...###..############.#.###.#..##.##..####.##...

output:

66

result:

ok single line: '66'

Test #31:

score: 8
Accepted
time: 12ms
memory: 5632kb

input:

387 387 1
182 105
119 379
##########################.######################################################################################################################################################################################################.################################################...

output:

312

result:

ok single line: '312'

Test #32:

score: 8
Accepted
time: 9ms
memory: 6032kb

input:

1 150000 1
1 113832
1 2038
.............................................................................#......................................................................................................................................................................................................

output:

1092

result:

ok single line: '1092'

Test #33:

score: 8
Accepted
time: 9ms
memory: 5936kb

input:

1 150000 1
1 6957
1 130571
####.##########################################################################.################################################################################.################################################.###############################################################...

output:

122389

result:

ok single line: '122389'

Test #34:

score: 8
Accepted
time: 20ms
memory: 5684kb

input:

387 387 1
55 282
267 35
.......................................................................................................................................................................................................................................................................................

output:

11

result:

ok single line: '11'

Test #35:

score: 8
Accepted
time: 15ms
memory: 5668kb

input:

387 387 1
287 270
56 102
......................................................................................................................................................................................................................................................................................

output:

35

result:

ok single line: '35'

Test #36:

score: 8
Accepted
time: 12ms
memory: 5644kb

input:

387 387 1
369 107
192 382
.....................................................................................................................................................................................................................................................................................

output:

21

result:

ok single line: '21'

Test #37:

score: 8
Accepted
time: 158ms
memory: 23260kb

input:

1224 1225 1
106 825
1167 186
##################################.#######.##..##.#.####.############.######.################.###################.#########.###########################.#####.####################.###############################.#######################.#######.########################.###...

output:

1112

result:

ok single line: '1112'

Test #38:

score: 8
Accepted
time: 22ms
memory: 5648kb

input:

16 10623 1
16 1171
14 2438
###.#....#.##..#.#.#.#.##.#.#..#.###..###.#..#...##..#.###..#...##.####.#......##...#..#..###...#..#####.#..##.#.###.#...#.##..#####.#######.....#.....#######.##.#....#.#...###..##..####.####.#.###.#####.#.##.###...#.....##.###.#.#.......#.###.##.#.###########.##.......##....

output:

185

result:

ok single line: '185'

Test #39:

score: 8
Accepted
time: 11ms
memory: 6528kb

input:

1 184339 1
1 58622
1 95339
.....#.....#.##.#.....#................#.....#.....#.#........#......................##.......#..#.....#....#.....##......#.................#............##.#....#..##......#...#.............#.......##.#............#.#....#....#...#...#..##.#...................#..#....##..#...

output:

5653

result:

ok single line: '5653'

Test #40:

score: 8
Accepted
time: 24ms
memory: 6536kb

input:

185 1158 1
170 697
18 48
#########.########.###.####.##########.################.#.##.#######.##.##.########.#.#############.####..###.##.####.###..###.####.#################.##..#######.#.###..#.#####..#.#.##.#.####.#.###########.####.###################..#####.############.###.#####.###..######..#...

output:

453

result:

ok single line: '453'

Test #41:

score: 8
Accepted
time: 15ms
memory: 6980kb

input:

2 121141 1
1 84070
2 47224
########.#.######.#.#####.##.###.##.####.#...####..#...#.#####.##.###.#.#######.##.##.######.###.#####.#####.####...#..#####.###########.####...#.########..##..####.###.###.####.###.#.###..####..###.##.####.##.#######.#..######.#.#....###.##.##.###.####...#.#.#.##.##.###.#...

output:

23385

result:

ok single line: '23385'

Test #42:

score: 8
Accepted
time: 76ms
memory: 13380kb

input:

6 123737 1
3 116020
4 86192
...#..#..#.............#.#.##.##...#..#...#...#...........#..#...#......##......#.#...#..#.##..#####..........#.#.....#.#.####......#....#.....##.##.####...........#.#.##..###.....#.#.#...#.#..#..#.#.#..#..#....#..#.......#...#...#...#.#.##..#..#..##......#..#...#...#.......

output:

1725

result:

ok single line: '1725'

Test #43:

score: 8
Accepted
time: 74ms
memory: 14180kb

input:

5 160357 1
1 41933
1 68874
##########.###.##.#.#####..#.#####.###..##.#############################.#############.##.#####.##########.##########.###.############..########.#####.#.######.###..####.####.##########.#####.###.##########..#.#######.##.###.#..#.###############.##############.###.###..###...

output:

20843

result:

ok single line: '20843'

Test #44:

score: 8
Accepted
time: 136ms
memory: 29260kb

input:

1224 1225 1
520 1165
390 755
.............................#....................................................................................................................................................................................................................................................

output:

0

result:

ok single line: '0'

Test #45:

score: 8
Accepted
time: 197ms
memory: 22948kb

input:

1224 1225 1
1155 1123
435 159
###....#.#.##.##.####.##.###.##########.##.####.#.#..##.##..#..####...#..#.....#####....####.###.#####...#..#..#....###.#....#....#.##.#.....##...##.#...##...####.####..#.#####.##..#.##.##.#.###.#..##.##.##..###.##..#.....#############.#####.#.##...##.#.####.#########.#...

output:

276

result:

ok single line: '276'

Test #46:

score: 8
Accepted
time: 139ms
memory: 22916kb

input:

1224 1225 1
533 1130
900 376
############################################################.###############################.########################.######################################################################.###############################################################.##################...

output:

1015

result:

ok single line: '1015'

Test #47:

score: 8
Accepted
time: 69ms
memory: 28204kb

input:

1 1500000 1
1 32769
1 947728
.................................................................................................................................................#................................................................................................................................

output:

9041

result:

ok single line: '9041'

Test #48:

score: 8
Accepted
time: 88ms
memory: 28256kb

input:

1 1500000 1
1 1314999
1 652665
##########################################################################################.###################################################.#############################################################################################.################################...

output:

655757

result:

ok single line: '655757'

Test #49:

score: 8
Accepted
time: 210ms
memory: 23500kb

input:

1224 1225 1
969 785
150 464
...................................................................................................................................................................................................................................................................................

output:

37

result:

ok single line: '37'

Test #50:

score: 8
Accepted
time: 203ms
memory: 23160kb

input:

1224 1225 1
1155 1123
435 159
.................................................................................................................................................................................................................................................................................

output:

49

result:

ok single line: '49'

Test #51:

score: 8
Accepted
time: 134ms
memory: 23232kb

input:

1224 1225 1
533 1130
900 376
..................................................................................................................................................................................................................................................................................

output:

407

result:

ok single line: '407'

Subtask #2:

score: 0
Wrong Answer

Test #52:

score: 19
Accepted
time: 1ms
memory: 3964kb

input:

3 6 2
2 1
3 3
...###
..##..
#..###

output:

0

result:

ok single line: '0'

Test #53:

score: 19
Accepted
time: 1ms
memory: 3760kb

input:

4 24 4
3 4
3 3
..#...##.#...###...###.#
.##.#..##.##.##..#.####.
#.......#.#.#...#.#####.
######....######.#...#.#

output:

0

result:

ok single line: '0'

Test #54:

score: 19
Accepted
time: 1ms
memory: 3956kb

input:

2 136 2
1 133
2 45
#############################################.##################.#.#######.##############.#################.##############.##.######.###
####.########.###############.####.###..####.#.###.#################.##..##############.###.############################################

output:

41

result:

ok single line: '41'

Test #55:

score: 19
Accepted
time: 1ms
memory: 3992kb

input:

31 32 31
6 13
22 29
................................
................................
..............................##
......#.........................
................................
................................
............#...................
................................
...................

output:

0

result:

ok single line: '0'

Test #56:

score: 19
Accepted
time: 1ms
memory: 3784kb

input:

31 32 31
17 32
22 6
...##.#...#...###.##.#.##.###.##
###...#.#..#..#.#.##..##.#######
###.#.#.###.######.#.#..###..###
..#.#.##....#.#.###.########....
####.#.#.#############.###.#.###
#..###.#######.##.#.###.##.####.
#####.###..###...##.###..##...#.
.##.#.###..####...#####..#..#.##
.....####.#....#...

output:

1

result:

ok single line: '1'

Test #57:

score: 19
Accepted
time: 0ms
memory: 3640kb

input:

31 32 31
31 1
28 28
################################
##########################.#####
#.####################.#########
################################
################################
.###############################
################################
################################
################...

output:

1

result:

ok single line: '1'

Test #58:

score: 0
Wrong Answer
time: 1ms
memory: 3972kb

input:

2 500 2
2 127
2 384
#..##..#####...##...##.#...#..#.##...###.##.###.##..##.#.####.#..##...#######.##.###.#####..#..####.#####...#....##..######.##....####..####..##.....####..#..##.#.####...#.##.##.##..######..#.##.#.##..#######..#.###.##.#.####.#.#..#.#..#...#########.###.#.##.###.##.#...##....###....

output:

59

result:

wrong answer 1st lines differ - expected: '76', found: '59'

Subtask #3:

score: 0
Wrong Answer

Test #64:

score: 16
Accepted
time: 1ms
memory: 4004kb

input:

35 60 20
3 60
2 44
.#....##.#.###..##.#.#....#.....#..#..#.##.#..#....###.####.
#.#......#.####..####...#...#......#........####....##.#.###
.#..#.....#.####..#.##..#.#.#...#.##..#.#..#######....#..##.
.#.#...##..#.##.......#......##......####...##.##..##.#....#
#...#.......#..#..#...#.#####.##.###....

output:

1

result:

ok single line: '1'

Test #65:

score: 16
Accepted
time: 6ms
memory: 4168kb

input:

63 602 3
10 463
3 402
#.#.#..#..######.#.##.##.#########.###.##.##..#..####.#...#########..###..####.######.###.##.#.....############.####.########.#.########.##.######.###..#####.###..##.#..#..##..##.###..##.###.#######...#.##.##.#.#.##...##...####.###.##.#.#.....#####.##.#..#.##..#...######.#####....

output:

9

result:

ok single line: '9'

Test #66:

score: 16
Accepted
time: 6ms
memory: 4508kb

input:

45 1194 5
4 632
37 206
...#..#............#..........#..##....##......#...##..#..#.............#...#...........##....#.........#.#.##..........#......#..........#.....#...........#........#.#.................#................#..........##.......................#.....#..........#........#........#......

output:

0

result:

ok single line: '0'

Test #67:

score: 16
Accepted
time: 4ms
memory: 4728kb

input:

244 245 244
28 168
222 200
...#...................................................................................................................................................................#..............................................................#..............
..............................

output:

0

result:

ok single line: '0'

Test #68:

score: 16
Accepted
time: 5ms
memory: 4760kb

input:

244 245 244
175 140
70 11
##.##....###.###..######..###.#.#####.##..#.#####.#.###.###.....#....###.#####.##..#.###.####.#..##.####...#.#####.###.##..#######.##.##...#..####.#...#####.##.###.#....##..####.###.#.#####..#.#.##.###.#..#.##.####..#.#.#...#######.######.##.#..
#..#..##.####.###.###..........

output:

1

result:

ok single line: '1'

Test #69:

score: 16
Accepted
time: 4ms
memory: 4664kb

input:

244 245 244
241 52
100 202
#######.###################################################################################################################################################################.#########################################################################
###########################...

output:

1

result:

ok single line: '1'

Test #70:

score: 0
Wrong Answer
time: 7ms
memory: 4512kb

input:

62 967 62
41 1
29 386
####.######.####.#####...##.##..##.####..######.##...######....#.#..#...#.#.###.##.###...######..#.#.####.###.##.###.#...###..##..####.####.#.#...###..#.#..#..###.....#####.##..##.####..##......#.####.##.#...##..###.#....#..##.###.#..#####.#..#.#.#.##..#..#.#..##.##.####...#.#....

output:

3

result:

wrong answer 1st lines differ - expected: '6', found: '3'

Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #4:

0%

Subtask #6:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #3:

0%

Subtask #7:

score: 0
Skipped

Dependency #6:

0%

Subtask #8:

score: 0
Skipped

Dependency #7:

0%