結果

問題 No.1665 quotient replace
コンテスト
ユーザー shiroha_F14
提出日時 2021-08-11 20:26:09
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
AC  
実行時間 715 ms / 3,000 ms
コード長 801 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 3,191 ms
コンパイル使用メモリ 85,664 KB
実行使用メモリ 68,388 KB
最終ジャッジ日時 2026-05-25 21:50:48
合計ジャッジ時間 19,757 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 41
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0; i < n; i++) a[i] = Integer.parseInt(sc.next());

    int[] spl = new int[1000001];
    spl[1] = 1;
    for(int i = 2; i <= 1000000; i++){
      if(spl[i] != 0) continue;
      for(int j = i; j <= 1000000; j += i){
        spl[j] = i;
      }
    }

    int[] grundy = new int[n];
    for(int i = 0; i < n; i++){
      while(a[i] > 1){
        a[i] /= spl[a[i]];
        grundy[i]++;
      }
    }

    int nimber = 0;
    for(int i = 0; i < n; i++){
      nimber = nimber ^ grundy[i];
    }
    if(nimber == 0) System.out.println("black");
    else System.out.println("white");
    sc.close();
  }
}
0