結果

問題 No.1665 quotient replace
ユーザー atjh16
提出日時 2021-11-05 17:20:58
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 1,058 ms / 3,000 ms
コード長 602 bytes
コンパイル時間 2,437 ms
コンパイル使用メモリ 197,520 KB
最終ジャッジ日時 2025-01-25 11:54:23
ジャッジサーバーID
(参考情報)
judge2 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 41
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int n, a, b, x = 0;
bool f[1000001];
set<int> p = { 2 };

int main()
{
	for (int i = 3; i < 1000000; i += 2) {
		if (!f[i]) {
			p.insert(i);

			if (i < 1000) {
				for (int j = i * i; j < 1000000; j += i * 2) {
					f[j] = 1;
				}
			}
		}
	}

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> a;
		b = 0;

		for (int j : p) {
			while (a % j == 0) {
				a /= j;
				b++;
			}

			if (a == 1)
				break;
			else if (j > sqrt(a)) {
				b++;
				break;
			}
		}

		x ^= b;
	}
	
	if (x != 0)
		cout << "white" << endl;
	else
		cout << "black" << endl;
}
0