結果
問題 | No.486 3 Straight Win(3連勝) |
ユーザー |
|
提出日時 | 2022-12-02 01:45:50 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 2,852 bytes |
コンパイル時間 | 2,331 ms |
コンパイル使用メモリ | 206,584 KB |
最終ジャッジ日時 | 2025-02-09 03:08:28 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 |
ソースコード
#include <bits/stdc++.h>using namespace std;//#include <atcoder/all> //atcoder用//using namespace atcoder; //atcoder用using ll = long long;using ld = long double;using vi = vector<int>;using vl = vector<long long>;using vc = vector<char>;using vs = vector<string>;using vb = vector<bool>;using Graph = vector<vector<int>>;//using pri = priority_queue<int>; //最大値//using pri = priority_queue<int, vector<int>, greater<int>>; //最小値#define _GLIBCXX_DEBUG#define endl "\n"#define rep(i, n) for (int i = 0; i < (int)(n); i++)#define ALL(f,c,... ) (([&](decltype((c)) cccc) { return (f)(std::begin(cccc), std::end(cccc), ## __VA_ARGS__); })(c))const int INF = 1e9;const int MININF = -1e9;const ll LINF = 1e18;const int MOD = 1e9+7;const int MODD = 998244353;// 4方向vi vx={0,1,0,-1};vi vy={1,0,-1,0};// a<bならaをbに更新template <typename T>bool chmax(T &a, const T& b){if(a<b){a=b;return true;}return false;}// a>bならaをbに更新template <typename T>bool chmin(T &a, const T& b){if(a>b){a=b;return true;}return false;}// 素数判定bool prime(ll N){if(N==1)return false;for (ll i=2;i*i<=N;i++){if (N%i == 0)return false;}return true;}// 約数列挙vl factor(int X){vl ans;for(int i=1;i*i<=X;i++){if(X%i!=0){continue;}ans.emplace_back(i);if(i!=X/i){ans.emplace_back(X/i);}}return ans;}// 素因数分解vl primefactor(ll N){vl ans;for(ll i=2;i*i<=N;i++){while(N%i==0){N/=i;ans.emplace_back(i);}}if(2<=N)ans.emplace_back(N);return ans;}// エラトステネスの篩vb Eratosthenes(ll n){vb prime(n+1,true);prime[0]=prime[1]=false;for(ll i=2;i+i<=n;i++){if(!prime[i])continue;for(ll j=i*2;j<=n;j+=i){prime[j]=false;}}return prime;}// 一次元座標圧縮vi compress(vi &A){vi B=A;ALL(sort,B);B.erase(unique(B.begin(),B.end()),B.end());vi ans(A.size());for(int i=0;i<A.size();i++){ans[i]=lower_bound(B.begin(),B.end(),A[i])-B.begin();}return ans;}// 最大公約数ll gcd(ll A, ll B){if(B==0)return A;return gcd(B,A%B);}// 最小公倍数ll lcm(ll A, ll B){return A / gcd(A, B) * B;}int main(){string S; cin>>S;if(S.size()<3){cout<<"NA"<<endl;return 0;}rep(i,S.size()-2){if(S[i]=='O' && S[i+1]=='O' && S[i+2]=='O'){cout<<"East"<<endl;return 0;}if(S[i]=='X' && S[i+1]=='X' && S[i+2]=='X'){cout<<"West"<<endl;return 0;}}cout<<"NA"<<endl;}