Submission #1775711
Source Code Expand
#include<iostream> #include<cstdio> #include<vector> #include<map> #include<string> #include<sstream> #include<cmath> #include<climits> #include<algorithm> #include<bitset> #include<set> #include<stack> #include<queue> #include<iomanip> #include<memory.h> #include<complex> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vvi; typedef tuple<int,int> tii; #define rep(i,n) for(ll i=0;i<(n);i++) #define pb push_back #define mt make_tuple #define ALL(a) (a).begin(),(a).end() #define FST first #define SEC second const int INF = (INT_MAX/2); const ll LLINF = (LLONG_MAX/2); const double eps = 1e-8; const double PI = M_PI; #define DEB cerr<<"!"<<endl #define SHOW(a,b) cerr<<(a)<<" "<<(b)<<endl #define SHOWARRAY(ar,i,j) REP(a,i)REP(b,j)cerr<<ar[a][b]<<((b==j-1)?((a==i-1)?("\n\n"):("\n")):(" ")) #define DIV int(1e9+7) inline ll pow(ll x,ll n,ll m){ll r=1;while(n>0){if((n&1)==1)r=r*x%m;x=x*x%m;n>>=1;}return r%m;} inline ll lcm(ll d1, ll d2){return d1 / __gcd(d1, d2) * d2;} /* Coding Space*/ int n; string str; void dfs(string s){ while(1){ int ss = s.size(); char c = s[ss-1]; char cb = s[ss-2]; if(ss == n){ if((s[ss-1] == s[1] && ((s[0] == 'S' && str[0] == 'o')||(s[0]=='W' && str[0] == 'x'))) || (s[ss-1] != s[1] && ((s[0] == 'W' && str[0] == 'o')||(s[0]=='S' && str[0] == 'x')))){ if(cb!= s[0]){ if((str[ss-1] == 'o' && c == 'W') || (str[ss-1] == 'x' && c == 'S')){ cout << s << endl; exit(0); //return; }else return; }else{ if((str[ss-1] == 'o' && c == 'S') || (str[ss-1] == 'x' && c == 'W')){ cout << s << endl; exit(0); // return; }else return; } }else return; } if(c == 'S' && cb == 'W') s.pb((str[ss-1] == 'o')?'W':'S'); else if(c == 'S' && cb == 'S') s.pb((str[ss-1] == 'o')?'S':'W'); else if(c=='W' && cb == 'S') s.pb((str[ss-1] == 'o')?'W':'S'); else if(c == 'W' && cb == 'W') s.pb((str[ss-1] == 'o')?'S':'W'); } return; } int main(){ cin >> n >> str; dfs("SS"); dfs("SW"); dfs("WS"); dfs("WW"); cout << -1 << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Menagerie |
User | cashisu1 |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 2249 Byte |
Status | AC |
Exec Time | 10 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 | 6 ms | 512 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 | 8 ms | 640 KB |
06.txt | AC | 5 ms | 640 KB |
07.txt | AC | 2 ms | 256 KB |
08.txt | AC | 2 ms | 384 KB |
09.txt | AC | 1 ms | 256 KB |
10.txt | AC | 3 ms | 256 KB |
11.txt | AC | 10 ms | 640 KB |
12.txt | AC | 10 ms | 640 KB |
13.txt | AC | 8 ms | 640 KB |