結果
問題 |
No.524 コインゲーム
|
ユーザー |
![]() |
提出日時 | 2023-02-13 08:00:28 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 956 bytes |
コンパイル時間 | 1,868 ms |
コンパイル使用メモリ | 193,088 KB |
最終ジャッジ日時 | 2025-02-10 14:52:58 |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, l, r) for (int i = (int)(l); i < (int)(r); i++) #define rrep(i, r, l) for (int i = (int)(r); i > (int)(l); i--) #define all(a) (a).begin(), (a).end() #define rall(a) (a).rbegin(), (a).rend() namespace nono { long long range_xor(const long long n) { assert(n >= 0); bool flag = (n & 1) ^ 1; long long res = ((n + 1) >> 1) & 1; for (int i = 1; i < 61; i++) { if (n & (1 << i) && flag) { res |= 1 << i; } } return res; } long long range_xor(const long long l, const long long r) { assert(l > 0 && r > 0); return nono::range_xor(r - 1) ^ nono::range_xor(l - 1); } } /// namespace nono void solve() { long long n; cin >> n; if (nono::range_xor(n) == 0) { cout << 'X' << '\n'; } else { cout << 'O' << '\n'; } } int main() { int t = 1; // cin >> t; while (t--) { solve(); } }