Submission #1591598
Source Code Expand
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #include<set> using namespace std; #define ALL(g) (g).begin(),(g).end() #define REP(i, x, n) for(int i = x; i < n; i++) #define rep(i,n) REP(i,0,n) #define F(i,j,k) fill(i[0],i[0]+j*j,k) #define P(p) cout<<(p)<<endl; #define EXIST(s,e) ((s).find(e)!=(s).end()) #define INF 1<<25 #define pb push_back typedef vector<int> vi; typedef vector<long long> vl; typedef vector<double> vd; typedef pair<int,int> pii; typedef pair<long,long> pll; typedef long long ll; int N; string s; char decision[4][100001]; //連続する二匹が確定すれば全部確定する。4通りを試す bool check(int num,int now){ if((s[now-1]=='o'&&decision[num][now-1]=='S')||(s[now-1]=='x'&&decision[num][now-1]=='W')){ decision[num][now]=decision[num][now-2]; // cout<<num<<" "<<now<<" "<<decision[num][now]<<endl; } else{ if(decision[num][now-2]=='W') decision[num][now]='S'; else decision[num][now]='W'; // cout<<num<<" "<<now<<" "<<decision[num][now]<<endl; } if(now==N){ /* if((s[now-1]=='o'&&decision[num][now-1]=='S')||(s[now-1]=='x'&&decision[num][now-1]=='W')){ if(decision[num][N-2]!=decision[num][0])return false; } else if(decision[num][N-2]==decision[num][0])return false; */ if(decision[num][now-1]==decision[num][0]){ // cout<<num<<" "; rep(i,N) cout<<decision[num][i]; cout<<endl; return true; } else // cout<<"no"<<endl; return false; } return check(num,now+1); } int main(){ cin>>N>>s; decision[0][0]='S'; decision[0][1]='S'; decision[1][0]='W'; decision[1][1]='S'; decision[2][0]='S'; decision[2][1]='W'; decision[3][0]='W'; decision[3][1]='W'; if(check(0,2))return 0; if(check(1,2))return 0; if(check(2,2))return 0; if(check(3,2))return 0; cout<<"-1"<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Menagerie |
User | ke_to |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2239 Byte |
Status | WA |
Exec Time | 12 ms |
Memory | 7168 KB |
Judge Result
Set Name | Sample | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 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 | WA | 1 ms | 256 KB |
00_example_03.txt | AC | 1 ms | 256 KB |
01.txt | WA | 8 ms | 4480 KB |
02.txt | AC | 6 ms | 3328 KB |
03.txt | WA | 1 ms | 384 KB |
04.txt | WA | 1 ms | 256 KB |
05.txt | WA | 11 ms | 6272 KB |
06.txt | AC | 10 ms | 6272 KB |
07.txt | AC | 3 ms | 1280 KB |
08.txt | WA | 3 ms | 1408 KB |
09.txt | WA | 1 ms | 512 KB |
10.txt | WA | 3 ms | 1536 KB |
11.txt | WA | 12 ms | 7168 KB |
12.txt | WA | 12 ms | 7168 KB |
13.txt | WA | 11 ms | 6912 KB |