//hdu 5323 暴力= =
#include<cstdio>
#include<algorithm>
using namespace::std;
typedef long long LL;
const LL INF=1e18;
LL ans=0;
void dfs(LL L,LL R){
if(L<0)return;
if(R>=ans)return;//剪枝
if(L==0){//符合條件
ans=min(ans,R);
return;
}
if(R-L+1>L)return;//剪枝
dfs(2*L-R-2,R);//先向左搜
dfs(2*L-R-1,R);
dfs(L,2*R-L);
dfs(L,2*R-L+1);
}
int main(){
LL L,R;
while(scanf("%lld%lld",&L,&R)!=EOF){
ans=INF;
dfs(L,R);
if(ans==INF)ans=-1;
printf("%lld\n",ans);
}
return 0;
}
hdu 5323 Solve this interesting problem(15多校第三場1008)(暴力)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.