結果
問題 | No.1298 OR XOR |
ユーザー | mamimume____mo |
提出日時 | 2020-11-27 21:38:13 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 566 bytes |
コンパイル時間 | 1,696 ms |
コンパイル使用メモリ | 167,288 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-26 11:57:46 |
合計ジャッジ時間 | 2,846 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 13 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; int A = 0; int B = 0; int C = 0; int shift = 0; int cnt = 0; while(N > 0){ if(N % 2 == 1){ if(A == 0 && B == 0 || cnt >= 2){ A |= (1 << shift); B |= (1 << shift); cnt++; } else if(cnt == 1){ C |= (1 << shift); B |= (1 << shift); cnt++; } } N /= 2; // cout << N << " " << shift << endl; shift++; } if(A == 0 || B == 0 || C == 0){ cout << -1 << " " << -1 << " " << -1 << endl; } else cout << A << " " << B << " " << C << endl; }