結果

問題 No.2 素因数ゲーム
ユーザー sheusue
提出日時 2023-01-05 19:31:23
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 5,000 ms
コード長 823 bytes
コンパイル時間 1,733 ms
コンパイル使用メモリ 166,160 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-29 10:38:02
合計ジャッジ時間 2,868 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#include <climits>
#define LOOP(n) for (int _i = 0; _i < (n); _i++)
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define RREP(i, n) for (int i = (n); i >= 0; --i)
#define FOR(i, r, n) for (int i = (r); i < (n); ++i)
#define ALL(obj) begin(obj), end(obj)

using namespace std;
typedef long long ll;
typedef pair<ll, ll> PR;

const int INF = (int) 1e8;
const double pi = acos(-1);


int N, n;
int factors[(int)1e8 + 1];
int G[30];



int main() {
	cin >> N;

	int cur = N;
	int j = 0; n = -1;
	for (int i = 2; i < sqrt(N);) {
		if (cur % i == 0) {
			if (j == 0) n++;

			cur /= i;
			factors[n] = ++j;
		}
		else {
			i++;
			j = 0;
		}
	}
	if (cur > 1) factors[++n] = 1;

	int ans = 0;
	REP(i, n+1) {
		ans ^= factors[i];
	}
	if (ans != 0) cout << "Alice" << endl;
	else cout << "Bob" << endl;
}
0