結果
問題 | No.726 Tree Game |
ユーザー |
![]() |
提出日時 | 2018-08-24 22:41:55 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,408 bytes |
コンパイル時間 | 2,075 ms |
コンパイル使用メモリ | 181,724 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-23 08:23:20 |
合計ジャッジ時間 | 2,828 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 |
ソースコード
#include<bits/stdc++.h>using namespace std;#define ll long long#define FOR(i,n,m) for(int i=(n);i<(m);i++)#define REP(i,n) FOR(i,0,n)#define REPR(i,n) for(int i=(n);i>=0;i--)#define all(vec) vec.begin(),vec.end()using vi=vector<int>;using vvi=vector<vi>;using vl=vector<ll>;using vvl=vector<vl>;using P=pair<int,int>;using PP=pair<int,P>;using Pl=pair<ll,ll>;using PPl=pair<ll,Pl>;using vs=vector<string>;#define fi first#define se second#define pb push_backtemplate<class T>bool chmax(T &a,const T &b){if(a<b){a=b;return true;}return false;}template<class T>bool chmin(T &a,const T &b){if(a>b){a=b;return true;}return false;}const ll MOD=1000000007LL;const int INF=1<<30;const ll LINF=1LL<<60;map<int,bool> ma;bool isPrime(int n){if(ma.find(n)!=ma.end()){return ma[n];}for(int i=2;i*i<=n;i++){if(n%i==0){return ma[n]=false;}}return ma[n]=n!=1;}map<P,bool> ma2;bool dfs(int x,int y){if(ma2.find(P(x,y))!=ma2.end()){return ma2[P(x,y)];}if(!isPrime(x+1)&&!isPrime(y)){if(!dfs(x+1,y)){return ma2[P(x,y)]=true;}}if(!isPrime(x)&&!isPrime(y+1)){if(!dfs(x,y+1)){return ma2[P(x,y)]=true;}}return ma2[P(x,y)]=false;}int main(){int x,y;cin>>x>>y;cout<<(dfs(x,y)?"First":"Second")<<endl;return 0;}