結果
問題 | No.64 XORフィボナッチ数列 |
ユーザー |
👑 |
提出日時 | 2019-03-31 21:07:13 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,343 bytes |
コンパイル時間 | 623 ms |
コンパイル使用メモリ | 75,540 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-22 10:24:24 |
合計ジャッジ時間 | 1,270 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 11 |
ソースコード
#include <cstdio>#include <cstdlib>#include <cstddef>#include <vector>#include <algorithm>#include <cmath>#include <string>#include <iostream>#include <iomanip>int main(void){long f0, f1, n;std::cin >> f0 >> f1 >> n;std::vector<long> v0, v1;while(0 < f0){v0.push_back(f0 % 2);f0 /= 2;}while(0 < f1){v1.push_back(f1 % 2);f1 /= 2;}if(v0.size() < v1.size()){for(long i = v0.size(); i < (long)v1.size(); i++){v0.push_back(0);}} else if(v1.size() < v0.size()){for(long i = v1.size(); i < (long)v0.size(); i++){v1.push_back(0);}}long sz = v1.size();long res = 0;long mul = 1;for(long i = 0; i < sz; i++){// 1, 0, 1, 1, 0, ...// 0, 0, 0, ...long b0 = v0[i];long b1 = v1[i];if(b0 == 0){if(b1 == 1){if(n % 3 != 0){res += mul;}}} else {if(b1 == 0){if(n % 3 != 1){res += mul;}} else {if(n % 3 != 2){res += mul;}}}mul *= 2;}std::cout << res << std::endl;return 0;}