hdu 5323 Solve this interesting problem(15多校第三場1008)(暴力)

//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;
}

發佈了124 篇原創文章 · 獲贊 46 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章