QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#446394#4788. GravityC1942huangjiaxuML 167ms257392kbC++141.4kb2024-06-17 09:36:062024-06-17 09:36:07

Judging History

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

  • [2024-06-17 09:36:07]
  • 评测
  • 测评结果:ML
  • 用时:167ms
  • 内存:257392kb
  • [2024-06-17 09:36:06]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=2005,M=N*N/2;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1},dw[N][N];
int n,m,id[N][N],ci,d[M];
bool vis[M];
vector<pair<int,int> >e[M];
char s[N][N];
vector<int>q[M];
void dfs(int x,int y){
	id[x][y]=ci;
	for(int i=0;i<4;++i){
		int X=x+dx[i],Y=y+dy[i];
		if(X<1||X>n||Y<1||Y>m||s[X][Y]=='.')continue;
		if(!id[X][Y])dfs(X,Y);
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i)scanf("%s",s[i]+1);
	for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)if(s[i][j]=='#'&&!id[i][j])++ci,dfs(i,j);
	for(int i=1;i<=m;++i)dw[n][i]=n+1;
	for(int i=n-1;i;--i){
		for(int j=1;j<=m;++j){
			if(s[i+1][j]=='#')dw[i][j]=i+1;
			else dw[i][j]=dw[i+1][j];
		}
	}
	for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)
		if(id[i][j]&&id[dw[i][j]][j]!=id[i][j])e[id[dw[i][j]][j]].emplace_back(id[i][j],dw[i][j]-i-1);
	memset(d,0x3f,sizeof(d));
	d[0]=0,q[0].emplace_back(0);
	for(int i=0;i<n;++i){
		while(!q[i].empty()){
			int u=q[i].back();
			q[i].pop_back();
			if(vis[u])continue;
			vis[u]=true;
			for(auto [v,w]:e[u])if(d[v]>d[u]+w){
				d[v]=d[u]+w;
				q[d[v]].emplace_back(v);
			}
			e[u].clear(),e[u].shrink_to_fit();
		}
		q[i].shrink_to_fit();
	}
	for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)s[i][j]='.';
	for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)if(id[i][j])s[i+d[id[i][j]]][j]='#';
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j)putchar(s[i][j]);
		putchar(10);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 11ms
memory: 105988kb

input:

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


output:

..........
..........
..######..
..#....#..
..#....#..
..#....#..
..#.##.#..
..######..
.......#..
..#....#..

result:

ok 10 lines

Test #2:

score: 0
Accepted
time: 160ms
memory: 144844kb

input:

1583 1799
#..###..##..#.####.##.##.###..#.....##..#.#.#.#......#.....##..#.##...#.#....#..##.###...#...##.###.#.....#.##.###...#..##.#...###..#.###.#...###..#.......#...#....#.#..#...##........#.#..#..##.....###...#..#.####..####...#..##......#........#..#.##.##..#..#....##.##.##..#..##.....###....#...

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1583 lines

Test #3:

score: 0
Accepted
time: 26ms
memory: 117016kb

input:

592 750
.......#..#.#......#.............#...............###..#..#.........#.#.......##.............#.#.#................#..#...#...#......#...#.............#..##..#.#..#..........#..##.#.#..#..#.#...#....#......####.........#..#......#...........#......#............#.###.......##.#..#.#.#...#.#.##....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 592 lines

Test #4:

score: 0
Accepted
time: 91ms
memory: 257392kb

input:

1768 1394
###.###.#######.###.#####.####.##########################.########.###################################.#########################################.#########################.####################.##############.###########################.#######################.################.####.#.#######...

output:

###.###.#######.###.#####.####.##########################.########.###################################.#########################################.#########################.####################.##############.###########################.#######################.################.####...#################...

result:

ok 1768 lines

Test #5:

score: 0
Accepted
time: 32ms
memory: 116916kb

input:

517 1539
.#..#....#.......#..............#.#........................#................#.#.#.............................##.....#.#....#...#.......................#.##..........#...##.....#.......#....#............#.....#......................#....#...#...#......#...........#.............................

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 517 lines

Test #6:

score: 0
Accepted
time: 63ms
memory: 186248kb

input:

1145 1314
##########.###.#####.##.####...##.#####.#######.########.##.#####.######.###.###.########.#.##...######.##.#########.############################.####################################.########.#.###.###.##.###########.#.###########.##############.#.###################.#.##.###############.#...

output:

##########.###.#####.##.####...##.#####.#######.########.##.#####.######.###.###.########.#.##...######.##.#########.############################.####################################.########.#.###.###.##.###########.#.###########.##############.#.###################.#.##.###############.####.####.#...

result:

ok 1145 lines

Test #7:

score: 0
Accepted
time: 39ms
memory: 126752kb

input:

959 1029
...........#....#.....#.........#..#.#..#..#............#..#....#....#.#...##.#........###...###.#....#................#................#....##..##.....#.#.....#.#####...............#......#......#......#..#..#.....##.....#......##..#.##..##.#...##...#...#....#..#.#....#.......#...#.#...##....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 959 lines

Test #8:

score: 0
Accepted
time: 125ms
memory: 194596kb

input:

1414 1827
.#############.###.#######.###..######.#.####.###.#####..##...##########.#..##.######.#..####.#####..##.##.###.#####.#..#.#####.###########.#.#.#####.##.##.#####...##.#####.####.#######.################.#..##.#####..####.###############.###..###########.##.#.#.########.###.###.#.#########....

output:

.#############.###.#######.###..######...####.###.#####..##...##########....##.######.#..####.#####..##.##.###.#####.#....#####.###########.#.#.#####.##.##.#####...##.#####.####.#######.################.#..##.#####..####.###############.###..###########.##.#.#.########.###.###.#.#########..#.#.#####...

result:

ok 1414 lines

Test #9:

score: 0
Accepted
time: 41ms
memory: 130480kb

input:

1206 1020
..#..............#...........................................#.....................#..........#.....#.........#....#........................#...........#...#...#.......#...#..#...#...................#.......#............#..#.....................#...................#.......................#...

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1206 lines

Test #10:

score: 0
Accepted
time: 49ms
memory: 127876kb

input:

1655 302
###..##.#..####.####...#...###..##..#..###.##..#..#########......#..##.#..#.#.#..##.##.#.###.#..#.#......##...#....#.#.##.#.###..###.#####.#..##....#..###....#.#...#....#....##.#....#####.#..####.#.###...##....#.##..#.#####.#.#.#.....#....#######...#.##..####..#.#..#.######.#.#.####...........

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1655 lines

Test #11:

score: 0
Accepted
time: 31ms
memory: 111480kb

input:

103 1848
#..#.###..##.####..#..#.######.##..##..#########.####.##.#.#####.###..#.###..####.#.###.#.#.#.######.#.#####..###.##.####.####..#####.##...#.#######.###.########.####....###...#..##.#..########..###....#######..#######.#..##.##.##.#....#.###.##..####.####.###..##.###.###.#.##..###..#..#####...

output:

#..#.###..##.####..#..#.######.##..##..#########.####.##.#.#####.###....###..####.#.###.#.#...######.#.#####..###.##.####.####..#####......#.#######.###.########.####....###......##.#..########..###....#######..#######.#..##.##...........###.##..####.####......##.###.###.#.##..###..#..#######...####...

result:

ok 103 lines

Test #12:

score: 0
Accepted
time: 82ms
memory: 136724kb

input:

1705 836
#.####.#...######.####.#.#..#.##.####.###..#.#####.#.##.##.#..##....#####..####.##.####..#.####.###....##....##.###.#......###.#####.#.###.#.##...####..###.#.######.####..#...########.##..#...###.#.##.####...#.#..##.####.######.#...#..##.####.##.#...##.#######..###.##.##.#.#.....####.###.#....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1705 lines

Test #13:

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

input:

216 126
####################.###################.###########################.##.#######################.####################.#########
###.########.###############.###########.###.########.###########################################################.###########.
#######################.##############...

output:

####################.###################.###########################.##.#######################.####################.#########
###.########.###############.###########.###.########.###########################################################.###########.
#######################.####################.#...

result:

ok 216 lines

Test #14:

score: 0
Accepted
time: 32ms
memory: 109372kb

input:

143 1806
..#.##.##.#..###.##.##.#...##.#....##.##.##..####.##...#.##......#####...#.......#...####......#.....##.##...#.##....##....###..#..##.#....######....###.####...##..#..##.#.##..##...##..#...#...#..##.#...#..#.#.##...#..#.###..##..##..#.##.###.###..####.#.##..###.####.....#..#...###..#..........

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 143 lines

Test #15:

score: 0
Accepted
time: 41ms
memory: 125412kb

input:

880 578
#.####.#..#.#####.##.###########.###.#.......#.####.########.#######.#..#..#####..#.##.####.##.##.#.#######.##.######.##.###########..#.##.#..#.###..####.##.####.#.########.#.######.###.########.#.######..#####.#######.#.##.###.##.#.##.###.#.####.#..#####.######.########.######.###.#######.#...

output:

..........#.#####.##.###########.............#.####.########.#######.#..#..#####..#.##.####.##.##.#.#######....######.##.###########............###..####.##.####...########.#.######.###.########...######..#####.#######.#.##.###.##.#....###...........#####.######.########.######.....#######.#.##.###....

result:

ok 880 lines

Test #16:

score: 0
Accepted
time: 167ms
memory: 238248kb

input:

1689 1872
#####.###.#########.#.########.#########.#..##.###.#############.#####.##########.#####.####..###############..###..#########.#########.######...#.####.#######..##.####.###..#.#####.########..##########.#.###.#.###.######.####.#.############.##.#..####.###.#.##.###..###.############.#.####...

output:

#####.###.#########.#.########.#########.#..##.###.#############.#####.##########.#####.####..###############..###..#########.#########.######...#.####.#######.....####.###..#.#####.########..##########.#.###.#.###.######.####...############.##.#..####.###.#.##.###..###.############.#.########.#####...

result:

ok 1689 lines

Test #17:

score: 0
Accepted
time: 47ms
memory: 133800kb

input:

1461 866
...#........#..#..........................###...#..#...............##.#..............#.............#....##..#..............#...#..................#.......#..##.#........................#........##.......#...#...........#...........#...........##..................#........##.......#............

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1461 lines

Test #18:

score: 0
Accepted
time: 34ms
memory: 109856kb

input:

149 1851
#.##...####.####.#.###..###.##.#.###.#.#.########.#.#####.#..##.#.###.######.###....#.#####.##..#...##..#########.##.#..#.##.##.#####.##.##...######.#..#####.######.###..######.#...##.##########..#.#..#..###....##.#####.#..#.#.##.##.####.##.###..##.##.##..###..###.####......#...##.#..###.#....

output:

.......####........###..###.##...###.#.#..........................###.######.###....#.#####.##..#...##..#########.##......##....#####.##.##...######.#........######.###..######.#......##########..#.#..#..###.......#####........##.........##.###............###..###.####......#...##........#.............

result:

ok 149 lines

Test #19:

score: 0
Accepted
time: 66ms
memory: 207296kb

input:

1296 1076
##########################.############################.##################.#########.#############.##############################################################.######.###################.#####################################################################################################...

output:

##########################.############################.##################.#########.#############.##############################################################.######.###################.###############################################################################################################...

result:

ok 1296 lines

Test #20:

score: 0
Accepted
time: 88ms
memory: 141220kb

input:

1468 1530
..#.....##............#.....#.....#.#.........#.......#........#.#.#..#.....#.........#......#..#.#..###.....#.........#...#.........##..##.....#...#...##...#......#.####.....#.........#.#.#..........#.#.#...#..#.#........#.##..#.......................#.....#...#..........#....#..#.##..#.....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1468 lines

Test #21:

score: 0
Accepted
time: 100ms
memory: 137356kb

input:

1336 1306
####...##.#.#.......#.#..###...#...#....#..##.##...##.##.....##.#....##.#..#..#....#...#.#..#.............#.#.##....#.#.###.##............###..........#.....####...#..#.#.#....#.###..#.........##.#.#....#.#..###.##.##.##.#.......##..#.#...#..##........#.##.....###...##..#.###.##....###..#....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1336 lines

Test #22:

score: 0
Accepted
time: 30ms
memory: 136524kb

input:

1784 874
.......................#..........................#..........................#................................................................................................................#.........................#.#..........................#................................................

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1784 lines

Test #23:

score: 0
Accepted
time: 24ms
memory: 121804kb

input:

1348 165
##...#......#..##.#.###..##..#...##...#.#........#..........#.....#...#.#..#..#.....#....#...#...#.#.#.......#...#...#......#....#.......................#.##....####
.##...#................##...#..#........###.#.#.....#....#.#.....#........#.#.####...........#.##...#.##.#.....#........##......

output:

.....................................................................................................................................................................
.........................................................................................................................................

result:

ok 1348 lines

Test #24:

score: 0
Accepted
time: 65ms
memory: 130644kb

input:

1658 483
.#....#.###.......#.##.....##..##.#..##..##...##....#.##.###.###.#.##.####.#..####..#.#.###..##...##...#.##.##.##.##.#.##..#.##.#.....####.#..##..###..####.....#..#.#.#.####.#.##.#.##...#.###..#######..###.#####.##.#..##.#..#...###.###.##.##.#.###..###..##.#..##.#..##.#.#.....###..........#...

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1658 lines

Test #25:

score: 0
Accepted
time: 16ms
memory: 127920kb

input:

1999 31
##########.#########.###.#..#..
.#....#####..##..#.####.##.##.#
############.#######..####.####
#.###.######.####.#############
###.############.#.########..##
.###.#####.###.##.###..#.######
#######.#.##.#########.########
########.#..######.##.###..####
..#.##..#.######.####.####..##.
####...

output:

##########.#########.###.#..#..
.#....#####..##..#.####.##.##.#
############.#######..####.####
#.###.######.####.#############
###.############...########..##
.###.#####.###.######..#.######
#######.#.##.#########.########
########....######.##.###..####
..#.##..########.####.####..##.
############...

result:

ok 1999 lines

Test #26:

score: 0
Accepted
time: 35ms
memory: 124172kb

input:

1270 377
..#..#.##...#.##..#...#..#...####....#.....##.#..#......#.##..#.##.##....##.##....#.#..#.##..#.###....###.##..#...###.#.#..###..#.#........#.......#...#...#....#...#.#...#.#..#...###..........#.....#.#..#.....#.#.#..#####......##..#.#....##.#..#.....##..##.##.#.#...###.#####.#.#.#.##..........

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1270 lines

Test #27:

score: 0
Accepted
time: 25ms
memory: 134408kb

input:

1834 683
...........................................#.......................................................................#...................................#..............#........................................#..........#.................................#........................#................

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1834 lines

Test #28:

score: 0
Accepted
time: 47ms
memory: 121884kb

input:

972 628
#.##.##....##..#..##.######.#.##.#..######.#.##...#.##.###..#...#.####.#.#..####..#.###.#...#.......#..#.#.#....#..#..##.#.###....#.##..#..#....#.#.#.#.#..#.###...#######.##..##.#.##..###..###.##.#..##.#####.#.##...##......#.###.....###########...#.#####..##.#...###.##.#.#.#.#.####.#.##..#.....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 972 lines

Test #29:

score: 0
Accepted
time: 24ms
memory: 113936kb

input:

287 367
#####.####.##.#####.#####.##.#############.############.#.###.###.##.###########..##.#########.###########.####.#########.#########.#####.########.##.#####...#.#.##############.#######.#.#.#.###.##########.#########.##.#.#####.##########################.#######.#################.#######.####...

output:

#####.####.##.#####.#####.##.#############.############.#.###.###.##.###########.....#########.###########.####.#########.#########.#####.########.##.#####...#.#.##############.#######.....#.###.##########.#########.##.#.#####.##########################.#######.#################.#######.#####.#.####...

result:

ok 287 lines

Test #30:

score: 0
Accepted
time: 149ms
memory: 145780kb

input:

1886 1566
###.###..####.....#.##...#....##...#...#...####..#....#####..#...######..#..#..#...#..##.##..#.#.#.##..#..##...#..####..#.#.###...#..#.##.#.#..#.#####.######..#.###.#########..###..##.#.#########.#.####.##..#####..#...#.#....#..###.##..###......###..####.########....#####.......####.#.#......

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1886 lines

Test #31:

score: 0
Accepted
time: 28ms
memory: 154192kb

input:

1986 227
######.############################################################################################################################.###############################################################################################
##.############################################################...

output:

######.############################################################################################################################.###############################################################################################
##.#####################################################################...

result:

ok 1986 lines

Test #32:

score: 0
Accepted
time: 24ms
memory: 116860kb

input:

625 676
......#.....................#...#....#......#........................#..##..................#.................##.............#......#..............#.....#..........................#...###.........#.###......#...#..#.#.........##..#.........##..........#.#........#..#.............#.#...##..#....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 625 lines

Test #33:

score: 0
Accepted
time: 73ms
memory: 181120kb

input:

974 1358
#########.##################.######.####.#############.################.############.######.######.#####.######.###################.################.#########.################################################.###.#############.##########.#############.#######.#######.#.##########.###########...

output:

#########.##################.######.####.#############.################.############.######.######.#####.######.###################.################.#########.################################################.###.#############.##########.#############.#######.#######.#.##########.####################...

result:

ok 974 lines

Test #34:

score: 0
Accepted
time: 34ms
memory: 128116kb

input:

1565 351
..#.....#....#...........#..#...##....#..###....#.....#.....####.##..#.##..#.##..####..#..###.........#...#.....##...##.#...#..#....#.#.#.#......##....#...#....#....#...#..#..#.##.#.#.......#.###.#.##....##.##.####.###......##.##.....##.#.##.####.#....#.#.####...#.....##...##...#.####....#....

output:

...............................................................................................................................................................................................................................................................................................................

result:

ok 1565 lines

Test #35:

score: 0
Accepted
time: 12ms
memory: 121452kb

input:

1907 15
...............
...#...........
...............
...............
.....#.........
.........#.....
...........#..#
...............
.............#.
...............
...............
...............
........#......
...............
...............
...............
..........##...
.#.............
.......

output:

...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............

result:

ok 1907 lines

Test #36:

score: -100
Memory Limit Exceeded

input:

1597 1522
#######################.###########################.###.####.######.#################################################.#####################################.#####################################.##############################.##########################.####################.################....

output:

#######################.###########################.###.####.######.#################################################.#####################################.#####################################.##############################.##########################.####################.################..#########...

result: