結果
| 問題 |
No.683 Two Operations No.3
|
| コンテスト | |
| ユーザー |
SugarDragon5
|
| 提出日時 | 2018-05-11 22:27:32 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,402 bytes |
| コンパイル時間 | 1,728 ms |
| コンパイル使用メモリ | 178,300 KB |
| 実行使用メモリ | 493,116 KB |
| 最終ジャッジ日時 | 2024-06-28 04:30:22 |
| 合計ジャッジ時間 | 8,167 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | TLE * 1 -- * 15 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define FOR(i,n,m) for(ll i=(n);i<(m);i++)
#define REP(i,n) FOR(i,0,n)
#define REPR(i,n) for(ll i=(n);i>=0;i--)
#define all(vec) vec.begin(),vec.end()
using vi=vector<int>;
using vvi=vector<vi>;
using vl=vector<ll>;
using vvl=vector<vl>;
using P=pair<ll,ll>;
using PP=pair<ll,P>;
using vp=vector<P>;
using vpp=vector<PP>;
using vs=vector<string>;
#define fi first
#define se second
#define pb push_back
template<class T>bool chmax(T &a,const T &b){if(a<b){a=b;return true;}return false;}
template<class T>bool chmin(T &a,const T &b){if(a>b){a=b;return true;}return false;}
const ll MOD=1000000007LL;
const int INF=1<<30;
const ll LINF=1LL<<60;
int main(){
P ans;
cin>>ans.fi>>ans.se;
set<P> se;
se.insert(P(0,0));
queue<P> que;
que.push(P(0,0));
while(que.size()){
P p=que.front();que.pop();
P x(p),y(p);
x.fi*=2;
x.se++;
if(x.fi<=ans.fi&&x.se<=ans.se){
if(!se.count(x)){
se.insert(x);
que.push(x);
}
}
y.fi++;
y.se*=2;
if(y.fi<=ans.fi&&y.se<=ans.se){
if(!se.count(y)){
se.insert(y);
que.push(y);
}
}
}
if(se.count(ans)){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
return 0;
}
SugarDragon5