Submission #2692860


Source Code Expand

#pragma GCC optimize(2)

#include<bits/stdc++.h>
#define mp make_pair
#define rep(i,n) for(int i=0;i<n;i++)
#define BINF 0x7fffffff
#define INF 0x3f3f3f3f
#define LINF 9223372036854775807
#define END(s) {cout<<s;return 0;}
#define CON(s) {cout<<s;continue;}
#define BRE(s) {cout<<s;break;}
#define pb push_back
#define All(a) a.begin(),a.end()  //with A in CAPITAL!!!
#define sz(a) (int)a.size()
#define F first
#define S second
using namespace std;
string buf;
bool istrue[100005];
bool issame[100005];
int n;

bool search(){
	for(int i=2;i<n;i++){
		if(istrue[i-1]){
			if(issame[i-1]){
				istrue[i]=istrue[i-2];
			} else {
				istrue[i]=(!istrue[i-2]);
			}
		} else {
			if(issame[i-1]){
				istrue[i]=(!istrue[i-2]);
			} else {
				istrue[i]=istrue[i-2];
			}
		}
	}
	bool ok;
	if(istrue[0]){
		if(issame[0]){
			ok=(istrue[1]==istrue[n-1]);
		} else {
			ok=(istrue[1]!=istrue[n-1]);
		}
	} else {
		if(issame[0]){
			ok=(istrue[1]!=istrue[n-1]);
		} else {
			ok=(istrue[1]==istrue[n-1]);
		}
	}
	if(istrue[n-1]){
		if(issame[n-1]){
			ok&=(istrue[n-2]==istrue[0]);
		} else {
			ok&=(istrue[n-2]!=istrue[0]);
		}
	} else {
		if(issame[n-1]){
			ok&=(istrue[n-2]!=istrue[0]);
		} else {
			ok&=(istrue[n-2]==istrue[0]);
		}
	}
	return ok;
}

int main(){
	ios::sync_with_stdio(false);
	cin>>n;
	cin>>buf;
	rep(i,n){
		issame[i]=(buf[i]=='o');
	}
	rep(i,2){
		rep(j,2){
			istrue[0]=i;
			istrue[1]=j;
			if(search()){
				rep(i,n){
					cout<<(istrue[i]?'S':'W');
				}
				return 0;
			}
		}
	}
	cout<<-1;
	return 0;
}

Submission Info

Submission Time
Task D - Menagerie
User bear0131
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1617 Byte
Status AC
Exec Time 6 ms
Memory 720 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 4 ms 640 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 5 ms 720 KB
06.txt AC 6 ms 720 KB
07.txt AC 2 ms 384 KB
08.txt AC 2 ms 384 KB
09.txt AC 1 ms 256 KB
10.txt AC 2 ms 384 KB
11.txt AC 5 ms 720 KB
12.txt AC 5 ms 720 KB
13.txt AC 5 ms 720 KB