Submission #1515370


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define FOR(i, j, k) for(int i=j; i<=k; i++)
#define FFOR(i, j, k) for(int i=j; i<k; i++)
#define DFOR(i, j, k) for(int i=j; i>=k; i--)
#define bug(x) cerr<<#x<<" = "<<x<<'\n'
#define pb push_back
#define mp make_pair
typedef long long ll;
typedef long double ld;
template <typename T> inline void read(T &x){
    char c;
    bool nega=0;
    while((!isdigit(c=getchar()))&&(c!='-'));
    if(c=='-'){
        nega=1;
        c=getchar();
    }
    x=c-48;
    while(isdigit(c=getchar())) x=x*10+c-48;
    if(nega) x=-x;
}
template <typename T> inline void writep(T x){
    if(x>9) writep(x/10);
    putchar(x%10+48);
}
template <typename T> inline void write(T x){
    if(x<0){
        putchar('-');
        x=-x;
    }
    writep(x);
}
template <typename T> inline void writeln(T x){
    write(x);
    putchar('\n');
}
#define taskname "D"
int n;
string s, t;
void check(string t){
    int same=0;
    FFOR(i, 1, n-1){
        same=(s[i]=='o');
        if(t[i]=='W') same=1-same;
        if(same) t+=t[i-1];
        else t+=(char('S'+'W'-t[i-1]));
    }
    same=(s[0]=='o');
    if(t[0]=='W') same=1-same;
    if((t[1]==t[t.size()-1])!=same) return;
    same=(s[t.size()-1]=='o');
    if(t[t.size()-1]=='W') same=1-same;
    if((t[0]==t[t.size()-2])!=same) return;
    cout<<t;
    exit(0);
}
int cnt;
int main(){
    #ifdef Megumin
        if(fopen(taskname".inp", "r"))
            freopen(taskname".inp", "r", stdin);
    #endif // Megumin
    cin>>n>>s;
    check("SS");
    check("SW");
    check("WS");
    check("WW");
    puts("-1");
}

Submission Info

Submission Time
Task D - Menagerie
User johntitor
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1660 Byte
Status AC
Exec Time 10 ms
Memory 640 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 3 ms 512 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 8 ms 640 KB
06.txt AC 6 ms 640 KB
07.txt AC 2 ms 256 KB
08.txt AC 2 ms 384 KB
09.txt AC 1 ms 256 KB
10.txt AC 3 ms 256 KB
11.txt AC 10 ms 640 KB
12.txt AC 10 ms 640 KB
13.txt AC 9 ms 640 KB