結果
問題 | No.726 Tree Game |
ユーザー | takayuki |
提出日時 | 2018-08-24 22:30:43 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 1,303 bytes |
コンパイル時間 | 1,021 ms |
コンパイル使用メモリ | 104,112 KB |
最終ジャッジ日時 | 2025-01-06 12:37:24 |
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 |
ソースコード
#include<iostream> #include<vector> #include<stdlib.h> #include<time.h> #include<math.h> #include<string.h> #include<algorithm> #include<queue> #include<map> #include<iomanip> bool isPrimeNum(int x ){ // 素数である場合 true を返す if( x <= 1 ){ // 1以下である場合は素数でないことがすぐにわかる return false; } // sqrt( double型 ) は引数の平方根を double型で返すので、int型でキャスト int n = (int)sqrt( (double)x ); for( int i = 2; i <= n; i++ ){ if( x % i == 0 ){ // 割り切る整数がある場合、即判定終了 return false; } } return true; // 割り切る整数がない場合、素数である } using namespace std; int main(void){ int x,y; int a,b; cin>>x>>y; a=x; b=y; if(isPrimeNum(x)==true && isPrimeNum(y)==true){ std::cout<<"Second"<<std::endl; return 0; } while(true){ a++; if(isPrimeNum(a)==true)break; } while(true){ b++; if(isPrimeNum(b)==true)break; } if((a-x)%2==0 && (b-y)%2==0)std::cout<<"Second"<<std::endl; else if(isPrimeNum(x)==true && a-x==1)std::cout<<"Second"<<std::endl; else if(isPrimeNum(y)==true && b-y==1)std::cout<<"Second"<<std::endl; else if((a-x)%2==0 || (b-y)%2==0)std::cout<<"First"<<std::endl; else std::cout<<"Second"<<std::endl; }