QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#190515#1775. Deceptive DirectionsZhouShangAC ✓55ms26696kbC++14938b2023-09-29 01:24:272023-09-29 01:24:28

Judging History

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

  • [2023-09-29 01:24:28]
  • 评测
  • 测评结果:AC
  • 用时:55ms
  • 内存:26696kb
  • [2023-09-29 01:24:27]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int n,m,k,p[1<<20],q[1<<20],x,y,u,v,s,t,a[2000][2000],X[]={-1,0,0,1},Y[]={0,-1,1,0},o[2000][2000];
string S[2000],T;
map<int,int>P;
int main(){
	cin>>m>>n;
	for(int i=1;i<=n;i++)
		cin>>S[i],S[i]=' '+S[i];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(S[i][j]=='S')
				p[++t]=i,q[t]=j,a[i][j]=o[i][j]=1;
	while(s<t){
		x=p[++s],y=q[s];
		for(int i=0;i<4;i++)
			if(1<=(u=x+X[i])&&u<=n&&1<=(v=y+Y[i])&&v<=m&&S[u][v]=='.'&&!a[u][v])
				a[u][v]=a[x][y]+1,p[++t]=u,q[t]=v;
	}
	cin>>T,k=T.size(),T=' '+T,s=0,t=1,P['N']=0,P['W']=1,P['E']=2,P['S']=3;
	while(s<t){
		x=p[++s],y=q[s];
		if(a[x][y]==k+1)
			S[x][y]='!';
		for(int i=0;i<4;i++)
			if(a[x][y]<=k&&P[T[a[x][y]]]!=i&&1<=(u=x+X[i])&&u<=n&&1<=(v=y+Y[i])&&v<=m&&a[u][v]==a[x][y]+1&&!o[u][v])
				p[++t]=u,q[t]=v,o[u][v]=1;
	}
	for(int i=1;i<=n;i++,cout<<'\n')
		for(int j=1;j<=m;j++)
			cout<<S[i][j];
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

4 3
####
#S.#
####
W

output:

####
#S!#
####

result:

ok 3 lines

Test #2:

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

input:

3 4
###
#.#
#S#
###
E

output:

###
#!#
#S#
###

result:

ok 4 lines

Test #3:

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

input:

10 9
##########
#.#...#S.#
##....##.#
#..##....#
#........#
#....###.#
##..#..#.#
#...##.#.#
##########
SEWSNEESE

output:

##########
#.#.!.#S.#
##.!..##.#
#..##....#
#..!.....#
#...!###.#
##..#..#.#
#...##.#.#
##########

result:

ok 9 lines

Test #4:

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

input:

5 8
#####
###.#
##..#
#...#
#...#
##.S#
#...#
#####
WSES

output:

#####
###!#
##!.#
#!..#
#...#
##.S#
#...#
#####

result:

ok 8 lines

Test #5:

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

input:

9 7
#########
#.####..#
#....##.#
#.......#
#.......#
#...#..S#
#########
SENEEENN

output:

#########
#.####..#
#.!..##.#
#!......#
#.......#
#!..#..S#
#########

result:

ok 7 lines

Test #6:

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

input:

10 8
##########
#.....#..#
#..#.#...#
#........#
#.#......#
##......##
#......S.#
##########
SNWSNNSSWEE

output:

##########
#!....#..#
#..#.#...#
#........#
#.#......#
##......##
#......S.#
##########

result:

ok 8 lines

Test #7:

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

input:

5 8
#####
#...#
#..##
#.###
#...#
##..#
#S..#
#####
WNEE

output:

#####
#...#
#..##
#.###
#..!#
##..#
#S..#
#####

result:

ok 8 lines

Test #8:

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

input:

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

output:

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

result:

ok 50 lines

Test #9:

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

input:

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

output:

##################################################
#........................!.......................#
#.......................!.!......................#
#......................!...!.....................#
#.....................!.....!....................#
#....................!.......!..................

result:

ok 50 lines

Test #10:

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

input:

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

output:

##################################################
#........................!.......................#
#.......................!.!......................#
#......................!...!.....................#
#.....................!.....!....................#
#....................!.......!..................

result:

ok 50 lines

Test #11:

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

input:

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

output:

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

result:

ok 50 lines

Test #12:

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

input:

68 36
####################################################################
#..........#...#..#..........#.....................#.##..#.........#
###.....#.##..#..#..#.....#...#................#.##.....#.#........#
#.........#......#.#..#......#........#.#.#...#.#...###....#..#....#
#........#......#....

output:

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

result:

ok 36 lines

Test #13:

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

input:

93 69
#############################################################################################
##.###...#..#.##.##..###..######....##..##......#..#..#......#..##..###....#.#........#######
#.#..##.#...##..###.###.###..##.##.#...#......####.###..#.##............##..#.#.###..##.#.###
#.#.#...##.....

output:

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

result:

ok 69 lines

Test #14:

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

input:

44 76
############################################
##.....##..###..##......#.#......#.....#.#.#
###.#.....#...#....#.....##.#.#.#....#....##
###....#..#..##..#......#.##.......#...#..##
#...#.###..#...##.#....#...#..#....##....###
#.##.####.....#.###.##..##...#.....###.#####
#...#........#....#.##.....

output:

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

result:

ok 76 lines

Test #15:

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

input:

46 65
##############################################
#.#.....#.....#.#.#.....#.#.......###........#
##.....#.#...........#.#..#....#......#.#....#
###.#.#.....#...###.###.............#.#......#
#.#.#.##.....#.#.....#.#.#.##......#...##.#..#
#...##..#..........#...#.......##..#...#....##
#.####..#......

output:

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

result:

ok 65 lines

Test #16:

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

input:

85 45
#####################################################################################
###.#.............#....#....#........#.......#..#..........#........................#
#...#....#.............#..........#......#......##.............#..#...........#.....#
#.....#.........#......................

output:

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

result:

ok 45 lines

Test #17:

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

input:

75 75
###########################################################################
#.........................................................................#
#.#########################################################################
#.#..................................................................

output:

###########################################################################
#........................................................................!#
#.#########################################################################
#.#........................................................................

result:

ok 75 lines

Test #18:

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

input:

75 75
###########################################################################
#.........................................................................#
#.#########################################################################
#.#..................................................................

output:

###########################################################################
#........................................................................!#
#.#########################################################################
#.#........................................................................

result:

ok 75 lines

Test #19:

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

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #20:

score: 0
Accepted
time: 48ms
memory: 25648kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #21:

score: 0
Accepted
time: 45ms
memory: 25548kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #22:

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

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #23:

score: 0
Accepted
time: 37ms
memory: 25280kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #24:

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

input:

1000 4
#####################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 4 lines

Test #25:

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

input:

4 1000
####
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#..#
#.....

output:

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

result:

ok 1000 lines

Test #26:

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

input:

1000 10
####################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 10 lines

Test #27:

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

input:

10 1000
##########
#...#....#
#..#....##
#........#
###.....##
#..#..#..#
#........#
#........#
#........#
#........#
#.....#..#
#........#
#........#
#........#
#......#.#
#.....#..#
#...#....#
#....#.#.#
#.....#..#
#....#...#
#........#
#....#...#
#........#
#.....#..#
#...#....#
#........#
#..#.....

output:

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

result:

ok 1000 lines

Test #28:

score: 0
Accepted
time: 48ms
memory: 22364kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #29:

score: 0
Accepted
time: 55ms
memory: 25108kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #30:

score: 0
Accepted
time: 38ms
memory: 21832kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines

Test #31:

score: 0
Accepted
time: 29ms
memory: 8736kb

input:

1000 1000
##################################################################################################################################################################################################################################################################################################...

output:

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

result:

ok 1000 lines