Submission #2672391


Source Code Expand

// author: lkx
// Problem:
// ID:
#include<bits/stdc++.h>
using namespace std;

#define pii pair<int,int>
#define fi first
#define se second
#define PB push_back
#define MP make_pair
#define PH push
#define ll long long
#define ull unsigned long long
#define debug(x) cerr<<#x<<"="<<x<<'\n'
//#define DEBUG

const int MOD=1e9+7;

int a;
string s;
vector<int> res,ans;

int main()
{
	#ifdef DEBUG
	clock_t tStart = clock();
	#endif
	cin>>a>>s;
	for(int ii=0;ii<2;ii++)
		for(int j=0;j<2;j++)
		{
			res.clear();
			res.PB(ii),res.PB(j);
			for(int i=2;i<a;i++)
				if(res[i-1]==0&&s[i-1]=='o') 
					res.PB(res[i-2]);
				else if(res[i-1]==0&&s[i-1]=='x')
					res.PB(res[i-2]^1);
				else if(res[i-1]==1&&s[i-1]=='o')
					res.PB(res[i-2]^1);
				else if(res[i-1]==1&&s[i-1]=='x')
					res.PB(res[i-2]);
//			for(int i=0;i<res.size();i++) cout<<res[i]<<' ';
			if(res[a-1]==0&&s[a-1]=='o'&&res[a-2]!=res[0]) continue;
			if(res[a-1]==0&&s[a-1]=='x'&&res[a-2]==res[0]) continue;
			if(res[a-1]==1&&s[a-1]=='o'&&res[a-2]==res[0]) continue;
			if(res[a-1]==1&&s[a-1]=='x'&&res[a-2]!=res[0]) continue; 
			if(res[0]==0&&s[0]=='o'&&res[a-1]!=res[1]) continue;
			if(res[0]==0&&s[0]=='x'&&res[a-1]==res[1]) continue;
			if(res[0]==1&&s[0]=='o'&&res[a-1]==res[1]) continue;
			if(res[0]==1&&s[0]=='x'&&res[a-1]!=res[1]) continue; 
			ans=res;
			break;
		}
	if(!ans.size()) puts("-1");
	else
	{
		for(int i=0;i<a;i++) 
			if(ans[i]==0) cout<<'S';
			else cout<<'W';
		puts("");
	}
	#ifdef DEBUG
	cerr<<"\nExecution time: "<<(((double)clock() - tStart)/CLOCKS_PER_SEC)*1e3<<"ms.\n";
	#endif
	return 0;
}

Submission Info

Submission Time
Task D - Menagerie
User HHHaruuu
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1666 Byte
Status AC
Exec Time 12 ms
Memory 1400 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 1020 KB
02.txt AC 5 ms 892 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 10 ms 1272 KB
06.txt AC 10 ms 1272 KB
07.txt AC 3 ms 512 KB
08.txt AC 3 ms 512 KB
09.txt AC 2 ms 256 KB
10.txt AC 3 ms 512 KB
11.txt AC 12 ms 1400 KB
12.txt AC 12 ms 1400 KB
13.txt AC 11 ms 1400 KB