Submission #3729368
Source Code Expand
#include<iostream> #include<algorithm> using namespace std; int h,w; string s[50]; main() { cin>>h>>w; int sx,sy; bool flagx=0,flagy=0; for(int i=0;i<h;i++) { cin>>s[i]; for(int j=0;j<w;j++)if(s[i][j]=='@')sx=i,sy=j; } if(sy==0) { flagy=1; for(int i=0;i<h;i++)reverse(s[i].begin(),s[i].end()); sy=w-1-sy; } if(sx%4) { flagx=1; for(int i=0;i<h/2;i++)swap(s[i],s[h-1-i]); sx=h-1-sx; } for(int i=sx-1;i>=0;i--)if(s[i][sy]!='*')s[i][sy]='#'; int nx=0,ny=sy-1,nd=0; while(nx<h) { if(nd==0) { while(ny>=0) { if(s[nx][ny]!='*')s[nx][ny]='#'; ny--; } ny++; if(nx+1<h&&s[nx+1][ny]!='*')s[nx+1][ny]='#'; if(nx+2<h&&s[nx+2][ny]!='*')s[nx+2][ny]='#'; ny++; nx+=2; nd=1; } else { while(ny<=(nx<=sx?sy-2:sy)) { if(s[nx][ny]!='*')s[nx][ny]='#'; ny++; } ny--; if(nx+1<h&&s[nx+1][ny]!='*')s[nx+1][ny]='#'; if(nx+2<h&&s[nx+2][ny]!='*')s[nx+2][ny]='#'; nx+=2; nd=0; } } nx-=2; while(ny+2<w) { ny++; if(s[nx][ny]!='*')s[nx][ny]='#'; ny++; if(nd==0) { while(nx>=0) { if(s[nx][ny]!='*')s[nx][ny]='#'; nx--; } nx++; nd=1; } else { while(nx<h) { if(s[nx][ny]!='*')s[nx][ny]='#'; nx++; } nx--; nd=0; } } int d[]={0,1,0,-1,0}; while(s[nx][ny]!='*') { s[nx][ny]='.'; for(int r=0;r<4;r++) { int tx=nx+d[r],ty=ny+d[r+1]; if(tx>=0&&ty>=0&&tx<h&&ty<w&&s[tx][ty]!='.') { nx=tx; ny=ty; break; } } } if(flagx) { for(int i=0;i<h/2;i++)swap(s[i],s[h-1-i]); } if(flagy) { for(int i=0;i<h;i++)reverse(s[i].begin(),s[i].end()); } for(int i=0;i<h;i++)cout<<s[i]<<endl; }
Submission Info
Submission Time | |
---|---|
Task | F - RPG Maker |
User | kotatsugame |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1767 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00, 00_sample_01, 01_random_00, 01_random_01, 01_random_02, 01_random_03, 01_random_04, 01_random_05, 01_random_06, 01_random_07, 01_random_08, 01_random_09, 01_random_10, 01_random_11, 01_random_12, 01_random_13, 01_random_14, 01_random_15, 01_random_16, 01_random_17, 01_random_18, 01_random_19, 02_large_00, 02_large_01, 02_large_02, 02_large_03, 02_large_04, 02_large_05, 02_large_06, 02_large_07, 02_large_08, 02_large_09, 99_handmade_00, 99_handmade_01, 99_handmade_02, 99_handmade_03, 99_handmade_04, 99_handmade_05, 99_handmade_06, 99_handmade_07 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | AC | 1 ms | 256 KB |
00_sample_01 | AC | 1 ms | 256 KB |
01_random_00 | AC | 1 ms | 256 KB |
01_random_01 | AC | 1 ms | 256 KB |
01_random_02 | AC | 1 ms | 256 KB |
01_random_03 | AC | 1 ms | 256 KB |
01_random_04 | AC | 1 ms | 256 KB |
01_random_05 | AC | 1 ms | 256 KB |
01_random_06 | AC | 1 ms | 256 KB |
01_random_07 | AC | 1 ms | 256 KB |
01_random_08 | AC | 1 ms | 256 KB |
01_random_09 | AC | 1 ms | 256 KB |
01_random_10 | AC | 1 ms | 256 KB |
01_random_11 | AC | 1 ms | 256 KB |
01_random_12 | AC | 1 ms | 256 KB |
01_random_13 | AC | 1 ms | 256 KB |
01_random_14 | AC | 2 ms | 256 KB |
01_random_15 | AC | 1 ms | 256 KB |
01_random_16 | AC | 1 ms | 256 KB |
01_random_17 | AC | 1 ms | 256 KB |
01_random_18 | AC | 1 ms | 256 KB |
01_random_19 | AC | 1 ms | 256 KB |
02_large_00 | AC | 2 ms | 256 KB |
02_large_01 | AC | 1 ms | 256 KB |
02_large_02 | AC | 1 ms | 256 KB |
02_large_03 | AC | 2 ms | 256 KB |
02_large_04 | AC | 1 ms | 256 KB |
02_large_05 | AC | 2 ms | 256 KB |
02_large_06 | AC | 2 ms | 256 KB |
02_large_07 | AC | 2 ms | 256 KB |
02_large_08 | AC | 2 ms | 256 KB |
02_large_09 | AC | 2 ms | 256 KB |
99_handmade_00 | AC | 1 ms | 256 KB |
99_handmade_01 | AC | 1 ms | 256 KB |
99_handmade_02 | AC | 1 ms | 256 KB |
99_handmade_03 | AC | 1 ms | 256 KB |
99_handmade_04 | AC | 1 ms | 256 KB |
99_handmade_05 | AC | 1 ms | 256 KB |
99_handmade_06 | AC | 1 ms | 256 KB |
99_handmade_07 | AC | 1 ms | 256 KB |