結果

問題 No.2 素因数ゲーム
ユーザー wightou
提出日時 2025-05-09 23:35:57
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 969 bytes
コンパイル時間 3,271 ms
コンパイル使用メモリ 277,752 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-05-09 23:36:02
合計ジャッジ時間 4,842 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

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

void prime_factorization(int n, vector<int>& primes) {
  int p = 2;
  while (p*p<=n) {
    if (n%p==0) {
      primes.push_back(p);
      n /= p;
    } else {
      p++;
    }
  }
  if (n>1) primes.push_back(n);
}

/////////////////// メイン ///////////////////

int main () {
  
  //////////////////// 入力 ////////////////////

  int n;
  cin >> n;

  //////////////// 出力変数定義 ////////////////

  string result = "Bob";

  //////////////////// 処理 ////////////////////

  vector<int> primes;
  prime_factorization(n,primes);
  int counter = 0;
  int x = 0;
  int len = primes.size();
  for (int i=0; i<len; i++) {
    counter++;
    if (i==len-1||primes.at(i)!=primes.at(i+1)) {
      x ^= counter;
      counter = 0;
    }
  }
  if (x) result = "Alice";

  //////////////////// 出力 ////////////////////

  cout << result << endl;

  //////////////////// 終了 ////////////////////

  return 0;

}
0