Submission #2229432


Source Code Expand

#include <iostream>
#include <vector>
#include<algorithm>
#include<iomanip>
#include<queue>
using namespace std;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define REP(i,m,n) for(int i=m;i<(int)(n);i++)
typedef long long ll;
const int inf   = 1<<29;
const ll  mod = 998244353;
ll fact[500001],invfact[500001];

int main(){
  int n;cin>>n;
  string s;cin>>s;
  char ans[n+1];
  ans[0]='S';ans[1]='S';
  rep(i,n){
    if(ans[i]==ans[i+1]^s[i]=='x')
      ans[i+2]='S';
    else ans[i+2]='W';
    }
  if(ans[0]==ans[n]&&ans[1]==ans[n+1]){
    rep(i,n)cout<<ans[i+1];
    cout<<endl;
    return 0;
    }
  ans[0]='S';ans[1]='W';
  rep(i,n){
    if(ans[i]==ans[i+1]^s[i]=='x')
      ans[i+2]='S';
    else ans[i+2]='W';
    }
  if(ans[0]==ans[n]&&ans[1]==ans[n+1]){
    rep(i,n)cout<<ans[i+1];
    cout<<endl;
    return 0;
    }
  ans[0]='W';ans[1]='S';
  rep(i,n){
    if(ans[i]==ans[i+1]^s[i]=='x')
      ans[i+2]='S';
    else ans[i+2]='W';
    }
  if(ans[0]==ans[n]&&ans[1]==ans[n+1]){
    rep(i,n)cout<<ans[i+1];
    cout<<endl;
    return 0;
    }
  ans[0]='W';ans[1]='W';
  rep(i,n){
    if(ans[i]==ans[i+1]^s[i]=='x')
      ans[i+2]='S';
    else ans[i+2]='W';
    }
  if(ans[0]==ans[n]&&ans[1]==ans[n+1]){
    rep(i,n)cout<<ans[i+1];
    cout<<endl;
    return 0;
    }
  cout<<-1<<endl;
  return 0;
  }

Submission Info

Submission Time
Task D - Menagerie
User tempura0224
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1373 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 7 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 9 ms 640 KB
06.txt AC 7 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 2 ms 256 KB
11.txt AC 9 ms 640 KB
12.txt AC 9 ms 640 KB
13.txt AC 10 ms 640 KB