QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#432048 | #5514. Maze | hansiyuan | 8 | 306ms | 621724kb | C++14 | 2.9kb | 2024-06-06 16:59:55 | 2024-06-06 16:59:55 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N=6e6+5,inf=0x3f3f3f3f;
int dx[]={0,-1,0,1};
int dy[]={-1,0,1,0};
int R,C,n;
int sx,sy,ex,ey;
string g[N];
struct nd2{int lay,r,c;};
bool waste(nd2 me,nd2 he){
if(he.lay != me.lay) return he.lay<me.lay;
return he.r<=me.r && he.c<me.c;
}
vector<nd2> f[N];
vector<int> vis[N];
struct nd{int x,y;};
queue<nd> q[2];
int now=1,pre,lay=1,tim;
void dfs0(int x,int y){
if(f[x][y].lay != inf) return;
f[x][y] = nd2{1,0,0};
q[now].push(nd{x,y});
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
if(xx>R || yy>C || xx<1 || yy<1) continue;
if(g[xx][yy] == '#') continue;
dfs0(xx,yy);
}
}
void dfs(int x,int y,int r,int c){
if(waste(nd2{lay,r,c},f[x][y])) return;
if(vis[x][y] == tim) return;
cout<<x<<' '<<y<<' '<<r<<' '<<c<<endl;
vis[x][y] = tim;
if(f[x][y].lay==inf)
q[now].push(nd{x,y});
f[x][y] = nd2{lay,r,c};
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
int rr=r+(dx[i]!=0),cc=c+(dy[i]!=0);
if(xx>R || yy>C || xx<1 || yy<1) continue;
if(rr>n || cc>n){
if(g[xx][yy] == '.') dfs(xx,yy,rr,cc);
}
else dfs(xx,yy,rr,cc);
}
}
queue<nd> q2;
void bfs(int X,int Y){
vis[X][Y] = tim;
q2.push(nd{X,Y});
while(q2.size()){
int x=q2.front().x, y=q2.front().y;
q2.pop();
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
if(xx>R || yy>C || xx<1 || yy<1) continue;
if(vis[xx][yy] == tim) continue;
if(g[xx][yy] != '.') continue;
if(waste(nd2{lay,n,n},f[xx][yy])) continue;
if(f[xx][yy].lay != lay) q[now].push(nd{xx,yy});
vis[xx][yy] = tim;
f[xx][yy] = nd2{lay,n,n};
q2.push(nd{xx,yy});
}
if(f[x][y].lay==lay && (f[x][y].r==n || f[x][y].c==n)) continue;
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
int rr=f[x][y].r+(dx[i]!=0), cc=f[x][y].c+(dy[i]!=0);
if(f[x][y].lay != lay) rr=cc=1;
if(xx>R || yy>C || xx<1 || yy<1) continue;
if(vis[xx][yy] == tim) continue;
if(waste(nd2{lay,rr,cc},f[xx][yy])) continue;
if(f[xx][yy].lay != lay) q[now].push(nd{xx,yy});
vis[xx][yy] = tim;
f[xx][yy] = nd2{lay,rr,cc};
q2.push(nd{xx,yy});
}
}
}
int main(){
// freopen("data.in","r",stdin);
scanf("%d%d%d",&R,&C,&n);
scanf("%d%d%d%d",&sx,&sy,&ex,&ey);
for(int i=1;i<=R;i++){
f[i].resize(C+1);
vis[i].resize(C+1);
cin>>g[i]; g[i]=' '+g[i];
for(int j=1;j<=C;j++)
f[i][j].lay = inf;
}
dfs0(sx,sy);
if(f[ex][ey].lay!=inf) {printf("0\n"); return 0;}
for(lay=2;;lay++){
// cout<<lay<<endl;
// for(int i=1;i<=R;i++){
// for(int j=1;j<=C;j++){
// if(f[i][j].lay==inf) printf("0 ");
// else printf("%d ",f[i][j].lay);
// }
// puts("");
// }
swap(now,pre);
// cout<<q[pre].size()<<endl;
while(q[pre].size()){
int x=q[pre].front().x;
int y=q[pre].front().y;
q[pre].pop();
tim++;
bfs(x,y);
}
if(f[ex][ey].lay!=inf){printf("%d\n",lay-1); return 0;}
}
return 0;
}
详细
Subtask #1:
score: 8
Accepted
Test #1:
score: 8
Accepted
time: 67ms
memory: 472580kb
input:
31 32 1 25 22 5 3 ################################ ################################ .############################### .############################### ##..###############.############ ###.###############.############ #####.########################## ###.#.########################## ###.##############...
output:
26
result:
ok single line: '26'
Test #2:
score: 0
Accepted
time: 92ms
memory: 472604kb
input:
31 32 1 31 5 18 30 ................................ ..........................#..... ................................ .................#.............. ................................ ................................ ....#........................... ................................ ....................
output:
0
result:
ok single line: '0'
Test #3:
score: 0
Accepted
time: 80ms
memory: 472552kb
input:
31 32 1 7 10 1 32 .#...#.####...#.####..###..####. .#.##.#..#.###.#.#####.#..#..##. .#.#######.########..#.#....#.#. ####.##########.####.#..###...## ####.##....####.####..####.##.## ##.###..#####..#.###..#.##.#.#.# ####.###...##.........###.#.#### .##..##.##.######....##.#####.## ####.#.###.##.#......
output:
5
result:
ok single line: '5'
Test #4:
score: 0
Accepted
time: 88ms
memory: 472584kb
input:
31 32 1 18 18 1 18 #################.############## ################################ ################################ ################################ ################################ ################################ ###############.################ ################################ #################...
output:
15
result:
ok single line: '15'
Test #5:
score: 0
Accepted
time: 84ms
memory: 472800kb
input:
1 1000 1 1 597 1 432 ..........................................................#..........................................................................................................................................#................................................................#...................
output:
0
result:
ok single line: '0'
Test #6:
score: 0
Accepted
time: 92ms
memory: 472868kb
input:
1 1000 1 1 354 1 826 #############################################################.#########################################################################################################################################################################################################################...
output:
463
result:
ok single line: '463'
Test #7:
score: 0
Accepted
time: 88ms
memory: 472512kb
input:
1 4 1 1 4 1 3 #...
output:
0
result:
ok single line: '0'
Test #8:
score: 0
Accepted
time: 92ms
memory: 472560kb
input:
1 45 1 1 8 1 20 #######.####.#####..#####################.###
output:
9
result:
ok single line: '9'
Test #9:
score: 0
Accepted
time: 87ms
memory: 472788kb
input:
3 13 1 1 5 2 3 .....##.....# .#....##.##.. ......#......
output:
0
result:
ok single line: '0'
Test #10:
score: 0
Accepted
time: 87ms
memory: 472788kb
input:
1 2 1 1 1 1 2 ..
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 107ms
memory: 472864kb
input:
1 148 1 1 91 1 89 .####.#.###...#..####..####.###..#...#.##.#####.######.#.#....#...####..##.#.#.##...##...#.##.#.#####.#####...#.#.###.#.#...##...###..#...##..##.###
output:
1
result:
ok single line: '1'
Test #12:
score: 0
Accepted
time: 91ms
memory: 472560kb
input:
2 84 1 1 11 1 62 .#..#.##.#.#.##.#.##.#.#...######.#.###...##.#####....##.##.#..###.###.##...##.#...# .#....##.#.#..#...#....##..###..#.##.#...###.#.#.###...##.#....#...##.#..####.#.###.
output:
20
result:
ok single line: '20'
Test #13:
score: 0
Accepted
time: 76ms
memory: 472860kb
input:
1 59 1 1 6 1 20 #.###.########.###..##.####.###.##.##########.########..#.#
output:
11
result:
ok single line: '11'
Test #14:
score: 0
Accepted
time: 94ms
memory: 472580kb
input:
31 32 1 31 5 18 30 ................................ ..#...####.######..##.#.####.##. ..#.#.####.#####.##..######..#.. .##.####.#.#.#...##.##########.. ..#...###.#####...####.#####.##. .#..###....#.#.#.##..###.#..#.#. .#.###..###.###.#####.#.#######. ..#...#.####.########...#..####. ..#..#.##...........
output:
0
result:
ok single line: '0'
Test #15:
score: 0
Accepted
time: 108ms
memory: 472580kb
input:
31 32 1 17 32 11 7 ................................ .#.##.#..#.###.#######.#.###.##. .#.#######.#########.#.#....#.#. .###.##########.####.#..###.#.#. .######.#..##########.####.##.#. .#.###..######.#.###..#.##.#.#.. .###.###.#.##........######.###. .##.###.##.######....##.#####.#. .#####.###.####.....
output:
2
result:
ok single line: '2'
Test #16:
score: 0
Accepted
time: 107ms
memory: 472556kb
input:
31 32 1 7 11 13 25 ................................ .##############################. .##############################. .##############################. .##############################. .##############################. .#########.####.###############. .##############################. .################...
output:
11
result:
ok single line: '11'
Test #17:
score: 0
Accepted
time: 88ms
memory: 473564kb
input:
244 245 1 226 133 105 7 .####.##################################################.###.#############.########.#######.#########################################.################.####.#################.######################################.###########.######.#####.######. .####.######.#####.#####.#####...
output:
163
result:
ok single line: '163'
Test #18:
score: 0
Accepted
time: 108ms
memory: 472996kb
input:
1 46212 1 1 39597 1 10273 #########################################.########################.##############################################################################################.##################.########.####################.##########################################.####################...
output:
28589
result:
ok single line: '28589'
Test #19:
score: 0
Accepted
time: 91ms
memory: 478504kb
input:
244 245 1 226 133 105 7 ..................................................#...............................................................................................#........................................................#......................................... .................................
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 83ms
memory: 473580kb
input:
244 245 1 214 117 83 245 .##..#.###.##.#.###.#..#####....#..##.##..##.##.#.###.#.##.####.###.....#.#...###.#.###..##.#.##.####..##..#..##....#.###.##.#########.#.#.##.##.#.####.##.##.##.#.##.##..##.##.#..#.#...##..##..#..#..#..####.#.###.##.#..#.#####....##.##.##.#.##.. #.###.##.#..###...###########...
output:
45
result:
ok single line: '45'
Test #21:
score: 0
Accepted
time: 92ms
memory: 473824kb
input:
244 245 1 15 226 207 34 ########################################################################################################################################################################.############################################################################ ##############################...
output:
340
result:
ok single line: '340'
Test #22:
score: 0
Accepted
time: 88ms
memory: 473260kb
input:
1 60000 1 1 59085 1 9263 .........................................................................................................................................................................................................................................................#............................
output:
496
result:
ok single line: '496'
Test #23:
score: 0
Accepted
time: 66ms
memory: 473444kb
input:
1 60000 1 1 57861 1 18234 ##################.###########.##################.###################################################################.#################.#####.##########################################################################.###########################.#########.##################....
output:
39210
result:
ok single line: '39210'
Test #24:
score: 0
Accepted
time: 95ms
memory: 473672kb
input:
244 245 1 226 133 105 7 ..................................................................................................................................................................................................................................................... ..#...#.#..####..####.......##...
output:
2
result:
ok single line: '2'
Test #25:
score: 0
Accepted
time: 68ms
memory: 473880kb
input:
244 245 1 214 117 83 245 ..................................................................................................................................................................................................................................................... ..###.##.#..###...###########...
output:
8
result:
ok single line: '8'
Test #26:
score: 0
Accepted
time: 75ms
memory: 473656kb
input:
244 245 1 15 226 207 34 ..................................................................................................................................................................................................................................................... .#############################...
output:
44
result:
ok single line: '44'
Test #27:
score: 0
Accepted
time: 97ms
memory: 475336kb
input:
387 387 1 335 36 90 357 ##########.##########.#######.#########.####.##########################.#################.##############################################################.######################.###################.##.###########.#####################.############.##################.#.#########...
output:
384
result:
ok single line: '384'
Test #28:
score: 0
Accepted
time: 87ms
memory: 473440kb
input:
2 30695 1 1 15156 1 6032 #..####.##..##..##.##.##..######.##.#.###.###########...####.#.###.#.###.#..###.#.###....###.#####..#...##.##.######.####.#######.######..#...#.#.##....##.##.#..#.#######.#.####.#.#####.##......###.#.#...#..#####.#.###.#####.############..###.#.#####.#...#.##...#..#.###..##....
output:
4487
result:
ok single line: '4487'
Test #29:
score: 0
Accepted
time: 91ms
memory: 487432kb
input:
387 387 1 55 282 267 35 .......................................................................................................................................................................................................................................................................................
output:
0
result:
ok single line: '0'
Test #30:
score: 0
Accepted
time: 119ms
memory: 475164kb
input:
387 387 1 287 270 56 102 #.#####.###..#..#.##..######...####..####.###..####.....#######.##..##..#.###.#..#..##.##.#...#.#.#.#.####.##...#.##..#.#.#..####.##.##.###......#.####..#####.####..##.#.#.#####..####.####.###.###..#.....#######.###.###.##..#.##..#...###..############.#.###.#..##.##..####.##...
output:
66
result:
ok single line: '66'
Test #31:
score: 0
Accepted
time: 95ms
memory: 475080kb
input:
387 387 1 182 105 119 379 ##########################.######################################################################################################################################################################################################.################################################...
output:
312
result:
ok single line: '312'
Test #32:
score: 0
Accepted
time: 108ms
memory: 474796kb
input:
1 150000 1 1 113832 1 2038 .............................................................................#......................................................................................................................................................................................................
output:
1092
result:
ok single line: '1092'
Test #33:
score: 0
Accepted
time: 87ms
memory: 474796kb
input:
1 150000 1 1 6957 1 130571 ####.##########################################################################.################################################################################.################################################.###############################################################...
output:
122389
result:
ok single line: '122389'
Test #34:
score: 0
Accepted
time: 107ms
memory: 475200kb
input:
387 387 1 55 282 267 35 .......................................................................................................................................................................................................................................................................................
output:
11
result:
ok single line: '11'
Test #35:
score: 0
Accepted
time: 129ms
memory: 475140kb
input:
387 387 1 287 270 56 102 ......................................................................................................................................................................................................................................................................................
output:
35
result:
ok single line: '35'
Test #36:
score: 0
Accepted
time: 91ms
memory: 475388kb
input:
387 387 1 369 107 192 382 .....................................................................................................................................................................................................................................................................................
output:
21
result:
ok single line: '21'
Test #37:
score: 0
Accepted
time: 277ms
memory: 497596kb
input:
1224 1225 1 106 825 1167 186 ##################################.#######.##..##.#.####.############.######.################.###################.#########.###########################.#####.####################.###############################.#######################.#######.########################.###...
output:
1112
result:
ok single line: '1112'
Test #38:
score: 0
Accepted
time: 79ms
memory: 475688kb
input:
16 10623 1 16 1171 14 2438 ###.#....#.##..#.#.#.#.##.#.#..#.###..###.#..#...##..#.###..#...##.####.#......##...#..#..###...#..#####.#..##.#.###.#...#.##..#####.#######.....#.....#######.##.#....#.#...###..##..####.####.#.###.#####.#.##.###...#.....##.###.#.#.......#.###.##.#.###########.##.......##....
output:
185
result:
ok single line: '185'
Test #39:
score: 0
Accepted
time: 79ms
memory: 475332kb
input:
1 184339 1 1 58622 1 95339 .....#.....#.##.#.....#................#.....#.....#.#........#......................##.......#..#.....#....#.....##......#.................#............##.#....#..##......#...#.............#.......##.#............#.#....#....#...#...#..##.#...................#..#....##..#...
output:
5653
result:
ok single line: '5653'
Test #40:
score: 0
Accepted
time: 116ms
memory: 476392kb
input:
185 1158 1 170 697 18 48 #########.########.###.####.##########.################.#.##.#######.##.##.########.#.#############.####..###.##.####.###..###.####.#################.##..#######.#.###..#.#####..#.#.##.#.####.#.###########.####.###################..#####.############.###.#####.###..######..#...
output:
453
result:
ok single line: '453'
Test #41:
score: 0
Accepted
time: 96ms
memory: 476364kb
input:
2 121141 1 1 84070 2 47224 ########.#.######.#.#####.##.###.##.####.#...####..#...#.#####.##.###.#.#######.##.##.######.###.#####.#####.####...#..#####.###########.####...#.########..##..####.###.###.####.###.#.###..####..###.##.####.##.#######.#..######.#.#....###.##.##.###.####...#.#.#.##.##.###.#...
output:
23385
result:
ok single line: '23385'
Test #42:
score: 0
Accepted
time: 134ms
memory: 484768kb
input:
6 123737 1 3 116020 4 86192 ...#..#..#.............#.#.##.##...#..#...#...#...........#..#...#......##......#.#...#..#.##..#####..........#.#.....#.#.####......#....#.....##.##.####...........#.#.##..###.....#.#.#...#.#..#..#.#.#..#..#....#..#.......#...#...#...#.#.##..#..#..##......#..#...#...#.......
output:
1725
result:
ok single line: '1725'
Test #43:
score: 0
Accepted
time: 124ms
memory: 485580kb
input:
5 160357 1 1 41933 1 68874 ##########.###.##.#.#####..#.#####.###..##.#############################.#############.##.#####.##########.##########.###.############..########.#####.#.######.###..####.####.##########.#####.###.##########..#.#######.##.###.#..#.###############.##############.###.###..###...
output:
20843
result:
ok single line: '20843'
Test #44:
score: 0
Accepted
time: 183ms
memory: 621724kb
input:
1224 1225 1 520 1165 390 755 .............................#....................................................................................................................................................................................................................................................
output:
0
result:
ok single line: '0'
Test #45:
score: 0
Accepted
time: 306ms
memory: 497540kb
input:
1224 1225 1 1155 1123 435 159 ###....#.#.##.##.####.##.###.##########.##.####.#.#..##.##..#..####...#..#.....#####....####.###.#####...#..#..#....###.#....#....#.##.#.....##...##.#...##...####.####..#.#####.##..#.##.##.#.###.#..##.##.##..###.##..#.....#############.#####.#.##...##.#.####.#########.#...
output:
276
result:
ok single line: '276'
Test #46:
score: 0
Accepted
time: 212ms
memory: 497504kb
input:
1224 1225 1 533 1130 900 376 ############################################################.###############################.########################.######################################################################.###############################################################.##################...
output:
1015
result:
ok single line: '1015'
Test #47:
score: 0
Accepted
time: 154ms
memory: 498616kb
input:
1 1500000 1 1 32769 1 947728 .................................................................................................................................................#................................................................................................................................
output:
9041
result:
ok single line: '9041'
Test #48:
score: 0
Accepted
time: 135ms
memory: 498568kb
input:
1 1500000 1 1 1314999 1 652665 ##########################################################################################.###################################################.#############################################################################################.################################...
output:
655757
result:
ok single line: '655757'
Test #49:
score: 0
Accepted
time: 285ms
memory: 498052kb
input:
1224 1225 1 969 785 150 464 ...................................................................................................................................................................................................................................................................................
output:
37
result:
ok single line: '37'
Test #50:
score: 0
Accepted
time: 213ms
memory: 497648kb
input:
1224 1225 1 1155 1123 435 159 .................................................................................................................................................................................................................................................................................
output:
49
result:
ok single line: '49'
Test #51:
score: 0
Accepted
time: 227ms
memory: 497564kb
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: 99ms
memory: 472492kb
input:
3 6 2 2 1 3 3 ...### ..##.. #..###
output:
0
result:
ok single line: '0'
Test #53:
score: 0
Accepted
time: 84ms
memory: 472500kb
input:
4 24 4 3 4 3 3 ..#...##.#...###...###.# .##.#..##.##.##..#.####. #.......#.#.#...#.#####. ######....######.#...#.#
output:
0
result:
ok single line: '0'
Test #54:
score: 0
Accepted
time: 80ms
memory: 472856kb
input:
2 136 2 1 133 2 45 #############################################.##################.#.#######.##############.#################.##############.##.######.### ####.########.###############.####.###..####.#.###.#################.##..##############.###.############################################
output:
41
result:
ok single line: '41'
Test #55:
score: 0
Accepted
time: 75ms
memory: 472584kb
input:
31 32 31 6 13 22 29 ................................ ................................ ..............................## ......#......................... ................................ ................................ ............#................... ................................ ...................
output:
0
result:
ok single line: '0'
Test #56:
score: -19
Wrong Answer
time: 68ms
memory: 472580kb
input:
31 32 31 17 32 22 6 ...##.#...#...###.##.#.##.###.## ###...#.#..#..#.#.##..##.####### ###.#.#.###.######.#.#..###..### ..#.#.##....#.#.###.########.... ####.#.#.#############.###.#.### #..###.#######.##.#.###.##.####. #####.###..###...##.###..##...#. .##.#.###..####...#####..#..#.## .....####.#....#...
output:
2
result:
wrong answer 1st lines differ - expected: '1', found: '2'
Subtask #3:
score: 0
Wrong Answer
Test #64:
score: 16
Accepted
time: 83ms
memory: 472636kb
input:
35 60 20 3 60 2 44 .#....##.#.###..##.#.#....#.....#..#..#.##.#..#....###.####. #.#......#.####..####...#...#......#........####....##.#.### .#..#.....#.####..#.##..#.#.#...#.##..#.#..#######....#..##. .#.#...##..#.##.......#......##......####...##.##..##.#....# #...#.......#..#..#...#.#####.##.###....
output:
1
result:
ok single line: '1'
Test #65:
score: -16
Wrong Answer
time: 99ms
memory: 473204kb
input:
63 602 3 10 463 3 402 #.#.#..#..######.#.##.##.#########.###.##.##..#..####.#...#########..###..####.######.###.##.#.....############.####.########.#.########.##.######.###..#####.###..##.#..#..##..##.###..##.###.#######...#.##.##.#.#.##...##...####.###.##.#.#.....#####.##.#..#.##..#...######.#####....
output:
12
result:
wrong answer 1st lines differ - expected: '9', found: '12'
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%