結果

問題 No.1665 quotient replace
ユーザー bluemeganebluemegane
提出日時 2021-09-10 09:53:39
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 478 ms / 3,000 ms
コード長 1,586 bytes
コンパイル時間 2,878 ms
コンパイル使用メモリ 109,240 KB
実行使用メモリ 100,040 KB
最終ジャッジ日時 2025-01-02 16:27:01
合計ジャッジ時間 13,355 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 35 ms
22,784 KB
testcase_01 AC 37 ms
22,656 KB
testcase_02 AC 24 ms
18,560 KB
testcase_03 AC 38 ms
23,168 KB
testcase_04 AC 41 ms
27,192 KB
testcase_05 AC 39 ms
26,804 KB
testcase_06 AC 43 ms
27,316 KB
testcase_07 AC 38 ms
27,060 KB
testcase_08 AC 40 ms
27,320 KB
testcase_09 AC 49 ms
28,476 KB
testcase_10 AC 186 ms
54,192 KB
testcase_11 AC 376 ms
85,232 KB
testcase_12 AC 70 ms
35,608 KB
testcase_13 AC 475 ms
97,772 KB
testcase_14 AC 478 ms
100,040 KB
testcase_15 AC 477 ms
98,008 KB
testcase_16 AC 476 ms
97,916 KB
testcase_17 AC 476 ms
95,720 KB
testcase_18 AC 24 ms
24,624 KB
testcase_19 AC 24 ms
24,632 KB
testcase_20 AC 25 ms
24,696 KB
testcase_21 AC 23 ms
24,564 KB
testcase_22 AC 23 ms
24,560 KB
testcase_23 AC 23 ms
24,628 KB
testcase_24 AC 25 ms
24,560 KB
testcase_25 AC 24 ms
24,560 KB
testcase_26 AC 40 ms
31,340 KB
testcase_27 AC 43 ms
29,304 KB
testcase_28 AC 48 ms
30,820 KB
testcase_29 AC 61 ms
34,632 KB
testcase_30 AC 222 ms
66,180 KB
testcase_31 AC 328 ms
84,428 KB
testcase_32 AC 354 ms
76,956 KB
testcase_33 AC 157 ms
49,936 KB
testcase_34 AC 294 ms
69,236 KB
testcase_35 AC 277 ms
63,484 KB
testcase_36 AC 290 ms
68,576 KB
testcase_37 AC 263 ms
66,348 KB
testcase_38 AC 297 ms
70,168 KB
testcase_39 AC 216 ms
64,328 KB
testcase_40 AC 231 ms
64,320 KB
testcase_41 AC 221 ms
64,336 KB
testcase_42 AC 26 ms
24,436 KB
testcase_43 AC 40 ms
28,884 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System.Linq;
using System.Collections.Generic;
using System;

class Eratosthenes
{
    public int[] Table;
    public Eratosthenes(int max)
    {
        CreateTable(max);
    }
    private void CreateTable(int n)
    {
        Table = Enumerable.Range(0, n + 1).ToArray();
        if (n <= 3) return;
        for (int i = 2; i <= n; i += 2) Table[i] = 2;
        for (int p = 3; p * p <= n; p += 2)
        {
            if (Table[p] < p) continue;
            for (int x = p; x <= n; x += p) Table[x] = p;
        }
    }
    public bool IsPrime(int n) => Table[n] == n;
    public int CountPrimes(int n)
    {
        var count = 0;
        while (Table[n] != 1)
        {
            n /= Table[n];
            count++;
        }
        return count;
    }
    public List<int> PrimeFactors(int n)
    {
        var res = new List<int>();
        while (Table[n] != 1)
        {
            res.Add(Table[n]);
            n /= Table[n];
        }
        return res;
    }
}

public class Hello
{
    static void Main()
    {
        var n = int.Parse(Console.ReadLine().Trim());
        string[] line = Console.ReadLine().Trim().Split(' ');
        var a = Array.ConvertAll(line, int.Parse);
        getAns(n, a);
    }
    static void getAns(int n, int[] a)
    {
        if (n == 1) { Console.WriteLine(a[0] == 1 ? "black" : "white"); return; }
        var e = new Eratosthenes(1000000);
        var x = e.CountPrimes(a[0]) ^ e.CountPrimes(a[1]);
        for (int i = 2; i < n; i++) x ^= e.CountPrimes(a[i]);
        Console.WriteLine(x == 0 ? "black" : "white");
    }
}
0