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
AC × 3
AC × 16
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