結果
| 問題 | No.683 Two Operations No.3 | 
| コンテスト | |
| ユーザー |  💕💖💞 | 
| 提出日時 | 2018-06-16 14:17:50 | 
| 言語 | C++17(clang) (17.0.6 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 541 bytes | 
| コンパイル時間 | 735 ms | 
| コンパイル使用メモリ | 118,656 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-30 12:32:40 | 
| 合計ジャッジ時間 | 1,423 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 | 
ソースコード
#include <iostream>
using namespace std;
long grad(long a, long b) {
    if( a == 0 && b == 0) return 1;
    else if( a == 0) return 1;
    else if( b == 0) return 1;
    else if( a%2 == 1 && b%2 == 1 ) return 0;
    else if( a%2 == 0 && b%2 == 0 ) return grad(a-1, b/2) or grad(a/2, b-1);
    else if( a%2 == 1L ) return grad(a-1, b/2);
    else if( b%2 == 1L ) return grad(a/2, b-1);
    return 0;
}
int main() {
  long a, b;
  cin >> a; 
  cin >> b;
  if( grad(a, b) == 1 ) 
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
            
            
            
        