結果
問題 | No.683 Two Operations No.3 |
ユーザー |
![]() |
提出日時 | 2018-05-23 09:20:46 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 712 bytes |
コンパイル時間 | 743 ms |
コンパイル使用メモリ | 72,560 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-28 16:06:30 |
合計ジャッジ時間 | 1,230 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
#include <iostream> #include <string> #include <vector> #include <algorithm> #include <numeric> #include <map> #include <set> #include <complex> using namespace std; #define REP(i,n) for(int i=0;i<(n);++i) #define REPS(i,s,t) for(int i=(s);i<(t);++i) #define INF 2000000007 #define MOD 1000000007 #define MAX 200005 typedef unsigned int uint; typedef unsigned long long int ull; typedef long long int ll; //int dp[MAX]; bool bfs(ull A,ull B){ if(A==0 || B==0) return true; int a=A&1,b=B&1; bool flag = false; if(a==0) flag |= bfs(A/2,B-1); if(b==0) flag |= bfs(A-1,B/2); return flag; } int main(){ ull A,B;cin>>A>>B; cout << (bfs(A,B) ? "Yes" : "No") << endl; return 0; }