結果
| 問題 |
No.524 コインゲーム
|
| ユーザー |
nono00
|
| 提出日時 | 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();
}
}
nono00