結果

問題 No.2 素因数ゲーム
ユーザー 縣響也
提出日時 2022-01-22 00:52:00
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 5,000 ms
コード長 911 bytes
コンパイル時間 2,712 ms
コンパイル使用メモリ 199,012 KB
最終ジャッジ日時 2025-01-27 14:42:39
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr ll mod = 1e9 + 7;
constexpr ll INF = 1LL << 60;

#define REP(i, init, n) for(int i = (int)(init); i < (int)(n); i++)

#define vi vector<int>
#define vl vector<long>
#define vvi vector<vector<int>>
#define vvl vector<vector<long>>
#define pint pair<int, int>
#define plong pair<long, long>

int N;

void solve() {
    map<int, int> M;
    int i = 2;
    int n = N;
    while(n > 1) {
        if(n % i == 0) {
            M[i]++;
            n /= i;
        } else {
            i += 1;
        }
        if(i * i > n) {
            M[n]++;
            break;
        }
    }
    int grundy = 0;
    for(pint p: M) {
        // cout << p.second << endl;
        grundy ^= p.second;
    }
    string ans = "";
    if(grundy != 0) ans = "Alice";
    else ans = "Bob";
    cout << ans << endl;
}

int main() {
    cin >> N;
    solve();
}
0