Submission #2692851


Source Code Expand

#pragma GCC optimize(2)

#include<bits/stdc++.h>
#include<cstdio>
#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;
char buf[100005];
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;
	gets(buf); gets(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 0
Code Size 1655 Byte
Status CE

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:73:10: error: ‘gets’ was not declared in this scope
  gets(buf); gets(buf);
          ^