Submission #2692847
Source Code Expand
#pragma GCC optimize(2) #include<bits/stdc++.h> #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 | 1637 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:72:10: error: ‘gets’ was not declared in this scope gets(buf); gets(buf); ^