QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#215934#1775. Deceptive DirectionsPhantomThreshold#AC ✓41ms13604kbC++201.4kb2023-10-15 14:33:022023-10-15 14:33:02

Judging History

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

  • [2023-10-15 14:33:02]
  • 评测
  • 测评结果:AC
  • 用时:41ms
  • 内存:13604kb
  • [2023-10-15 14:33:02]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int main()
{
	ios_base::sync_with_stdio(false);
	int w,h;
	cin>>w>>h;
	vector<string> a(h+5);
	string s;
	int sx=0,sy=0;
	for(int i=1;i<=h;i++)
	{
		cin>>s;
		a[i]=' '+s+' ';
		for(int j=1;j<=w;j++)
			if(a[i][j]=='S')
				sx=i,sy=j;
	}
	cin>>s;
	int len=s.length();
	s=' '+s;
	auto inb=[&](int x,int y)
	{
		return 1<=x and x<=h and 1<=y and y<=w and a[x][y]!='#';
	};
	vector<int> dx={1,0,-1,0},dy={0,1,0,-1};
	string dir="SENW";
	vector<vector<int>> dis(h+5,vector<int>(w+5,1e9));
	vector<vector<int>> good(h+5,vector<int>(w+5));
	queue<pair<int,int>> q;
	q.emplace(sx,sy);
	dis[sx][sy]=0;
	while(not q.empty())
	{
		auto [x,y]=q.front();q.pop();
		for(int d=0;d<4;d++)
		{
			int nx=x+dx[d],ny=y+dy[d];
			if(inb(nx,ny) and dis[nx][ny]>dis[x][y]+1)
			{
				dis[nx][ny]=dis[x][y]+1;
				q.emplace(nx,ny);
			}
		}
	}
	q.emplace(sx,sy);
	good[sx][sy]=0;
	while(not q.empty())
	{
		auto [x,y]=q.front();q.pop();
		for(int d=0;d<4;d++)
		{
			int nx=x+dx[d],ny=y+dy[d];
			if(inb(nx,ny) and dis[nx][ny]==dis[x][y]+1 and dir[d]!=s[dis[nx][ny]] and not good[nx][ny])
			{
				good[nx][ny]=1;
				q.emplace(nx,ny);
			}
		}
	}
	for(int i=1;i<=h;i++)
	{
		for(int j=1;j<=w;j++)
		{
			if(dis[i][j]==len and good[i][j])
				cout<<'!';
			else
				cout<<a[i][j];
		}
		cout<<endl;
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

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

result:

ok 3 lines

Test #2:

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

input:

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

output:

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

result:

ok 4 lines

Test #3:

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

input:

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

output:

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

result:

ok 9 lines

Test #4:

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

input:

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

output:

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

result:

ok 8 lines

Test #5:

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

input:

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

output:

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

result:

ok 7 lines

Test #6:

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

input:

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

output:

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

result:

ok 8 lines

Test #7:

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

input:

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

output:

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

result:

ok 8 lines

Test #8:

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

input:

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

output:

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

result:

ok 50 lines

Test #9:

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

input:

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

output:

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

result:

ok 50 lines

Test #10:

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

input:

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

output:

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

result:

ok 50 lines

Test #11:

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

input:

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

output:

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

result:

ok 50 lines

Test #12:

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

input:

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

output:

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

result:

ok 36 lines

Test #13:

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

input:

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

output:

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

result:

ok 69 lines

Test #14:

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

input:

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

output:

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

result:

ok 76 lines

Test #15:

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

input:

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

output:

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

result:

ok 65 lines

Test #16:

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

input:

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

output:

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

result:

ok 45 lines

Test #17:

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

input:

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

output:

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

result:

ok 75 lines

Test #18:

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

input:

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

output:

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

result:

ok 75 lines

Test #19:

score: 0
Accepted
time: 33ms
memory: 13572kb

input:

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

output:

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

result:

ok 1000 lines

Test #20:

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

input:

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

output:

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

result:

ok 1000 lines

Test #21:

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

input:

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

output:

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

result:

ok 1000 lines

Test #22:

score: 0
Accepted
time: 23ms
memory: 13068kb

input:

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

output:

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

result:

ok 1000 lines

Test #23:

score: 0
Accepted
time: 21ms
memory: 13292kb

input:

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

output:

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

result:

ok 1000 lines

Test #24:

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

input:

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

output:

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

result:

ok 4 lines

Test #25:

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

input:

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

output:

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

result:

ok 1000 lines

Test #26:

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

input:

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

output:

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

result:

ok 10 lines

Test #27:

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

input:

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

output:

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

result:

ok 1000 lines

Test #28:

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

input:

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

output:

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

result:

ok 1000 lines

Test #29:

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

input:

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

output:

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

result:

ok 1000 lines

Test #30:

score: 0
Accepted
time: 33ms
memory: 13172kb

input:

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

output:

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

result:

ok 1000 lines

Test #31:

score: 0
Accepted
time: 20ms
memory: 13144kb

input:

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

output:

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

result:

ok 1000 lines