Submission #1255686
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define loop(i,a,b) for(i=a;i<b;i++)
#define rloop(i,a,b) for(i=a;i>=b;i--)
#define vi vector<int>
#define vl vector<ll>
#define vii vector< vector<int> >
#define vll vector< vector<ll> >
#define vs vector<string>
const int inf=1000000001;
const ll INF=1e16;
#define MOD 1000000007
#define mod 1000000009
#define pi 3.14159265358979323846
void fill(string &ans,string &s,int k);
bool check(string &ans,string &s,int k);
int main(){
int n,i,j,k;
cin>>n;
string s;
cin>>s;
bool flag=false;
string ans;
loop(i,0,2){
loop(j,0,2){
ans.clear();
if(i==0){
ans+='S';
}else{
ans+='W';
}
if(j==0){
ans+='S';
}else{
ans+='W';
}
loop(k,2,n){
fill(ans,s,k);
}
flag=check(ans,s,n-1);
if(flag){
flag=check(ans,s,n);
}
if(flag){
break;
}
}
if(flag){
break;
}
}
if(!flag){
cout<<-1<<endl;
}else{
loop(i,0,n){
cout<<ans[i];
}
cout<<endl;
}
}
void fill(string &ans,string &s,int k){
if(s[k-1]=='o'){
if(ans[k-1]=='S'){
if(ans[k-2]=='S'){
ans+='S';
}else{
ans+='W';
}
}else{
if(ans[k-2]=='S'){
ans+='W';
}else{
ans+='S';
}
}
}else{
if(ans[k-1]=='S'){
if(ans[k-2]=='S'){
ans+='W';
}else{
ans+='S';
}
}else{
if(ans[k-2]=='S'){
ans+='S';
}else{
ans+='W';
}
}
}
}
bool check(string &ans,string &s,int k){
int n=ans.size();
if(s[k%n]=='o'){
if(ans[k%n]=='S'){
if(ans[(k-1)%n]==ans[(k+1)%n]){
return true;
}else{
return false;
}
}else{
if(ans[(k-1)%n]==ans[(k+1)%n]){
return false;
}else{
return true;
}
}
}else{
if(ans[k%n]=='S'){
if(ans[(k-1)%n]==ans[(k+1)%n]){
return false;
}else{
return true;
}
}else{
if(ans[(k-1)%n]==ans[(k+1)%n]){
return true;
}else{
return false;
}
}
}
}
Submission Info
Submission Time |
|
Task |
D - Menagerie |
User |
fuppy0716 |
Language |
C++14 (GCC 5.4.1) |
Score |
500 |
Code Size |
2022 Byte |
Status |
AC |
Exec Time |
13 ms |
Memory |
640 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
500 / 500 |
Status |
|
|
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 |
8 ms |
512 KB |
02.txt |
AC |
5 ms |
512 KB |
03.txt |
AC |
1 ms |
256 KB |
04.txt |
AC |
1 ms |
256 KB |
05.txt |
AC |
11 ms |
640 KB |
06.txt |
AC |
8 ms |
640 KB |
07.txt |
AC |
3 ms |
256 KB |
08.txt |
AC |
3 ms |
384 KB |
09.txt |
AC |
2 ms |
256 KB |
10.txt |
AC |
3 ms |
384 KB |
11.txt |
AC |
13 ms |
640 KB |
12.txt |
AC |
13 ms |
640 KB |
13.txt |
AC |
12 ms |
640 KB |