Submission #2211391
Source Code Expand
#include <iostream> #include <string> using namespace std; typedef long long lint; int main(){ int N; string s; cin >> N >> s; string init[4]={"SS","SW","WS","WW"}; for(int i=0;i<4;i++){ char *res; res=new char[N]; res[0]=init[i][0]; res[1]=init[i][1]; for(int j=1;j<N-1;j++){ if((s[j]=='o' && res[j]=='S')||(s[j]=='x' && res[j]=='W')) res[j+1]=res[j-1]; else res[j+1]=(res[j-1]=='S'?'W':'S'); } char test[2]; if((s[N-1]=='o' && res[N-1]=='S')||(s[N-1]=='x' && res[N-1]=='W')) test[0]=res[N-2]; else test[0]=(res[N-2]=='S'?'W':'S'); if((s[0]=='o' && res[0]=='S')||(s[0]=='x' && res[0]=='W')) test[1]=res[N-1]; else test[1]=(res[N-1]=='S'?'W':'S'); if(test[0]==init[i][0] && test[1]==init[i][1]){ for(int i=0;i<N;i++) cout << res[i]; cout << endl; return 0; } delete[] res; } cout << (-1) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Menagerie |
User | wisteria0410ss |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 1056 Byte |
Status | AC |
Exec Time | 10 ms |
Memory | 512 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 1 ms | 256 KB |
00_example_02.txt | AC | 1 ms | 256 KB |
00_example_03.txt | AC | 1 ms | 256 KB |
01.txt | AC | 6 ms | 512 KB |
02.txt | AC | 4 ms | 384 KB |
03.txt | AC | 1 ms | 256 KB |
04.txt | AC | 1 ms | 256 KB |
05.txt | AC | 8 ms | 512 KB |
06.txt | AC | 7 ms | 512 KB |
07.txt | AC | 2 ms | 256 KB |
08.txt | AC | 2 ms | 256 KB |
09.txt | AC | 1 ms | 256 KB |
10.txt | AC | 2 ms | 256 KB |
11.txt | AC | 10 ms | 512 KB |
12.txt | AC | 10 ms | 512 KB |
13.txt | AC | 9 ms | 512 KB |