結果

問題 No.1665 quotient replace
コンテスト
ユーザー shiroha_F14
提出日時 2021-08-11 20:26:09
言語 Java
(openjdk 27 + ACL)
コンパイル:
javac -J-Duser.language=en -encoding UTF8 -cp /opt/aclib/ac_library.jar _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true -cp .:/opt/aclib/ac_library.jar _class_
結果
AC  
実行時間 956 ms / 3,000 ms
+ 994µs
コード長 801 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,665 ms
コンパイル使用メモリ 95,988 KB
実行使用メモリ 142,636 KB
最終ジャッジ日時 2026-10-15 23:12:22
合計ジャッジ時間 29,865 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

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