結果

問題 No.726 Tree Game
ユーザー akakimidori
提出日時 2019-02-10 18:00:18
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 766 bytes
コンパイル時間 186 ms
コンパイル使用メモリ 30,080 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-06 14:43:59
合計ジャッジ時間 982 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<stdio.h>

int isPrime(int n){
  if(n<=1) return 0;
  if(n<=3) return 1;
  if(n%2==0 || n%3==0) return 0;
  int k=7;
  while(k*k<=n){
    if(n%(k-2)==0 || n%k==0) return 0;
    k+=6;
  }
  k-=2;
  if(k*k<=n && n%k==0) return 0;
  return 1;
}

void run(void){
  int x,y;
  scanf("%d%d",&x,&y);
  if(isPrime(x) && isPrime(y)){
    puts("Second");
    return;
  }
  int ans=0;
  if(isPrime(x)){
    if(isPrime(x+1)){
      puts("Second");
      return;
    }
    ans^=1;
    x++;
  }
  if(isPrime(y)){
    if(isPrime(y+1)){
      puts("Second");
      return;
    }
    ans^=1;
    y++;
  }
  while(!isPrime(x+1)){
    x++;
    ans^=1;
  }
  while(!isPrime(y+1)){
    y++;
    ans^=1;
  }
  puts(ans?"First":"Second");
}

int main(void){
  run();
  return 0;
}
0