UVA1374 - Power Calculus

来源:互联网 发布:哪款手机优化软件最好 编辑:程序博客网 时间:2024/05/20 22:35
#include<iostream>#include<stdio.h>#include<cmath>#include<queue>#include<stack>#include<algorithm>#include<string.h>#define ll long long#define oo 10000007using namespace std;int way[1005],num;bool DFSID(int x, int step){    int i;    if(num > step) return false;    if(way[num] == x) return true;    if(way[num] << (step-num)  < x) return false;    for(i=0; i<=num; i++)    {        num++;        way[num]=way[num-1]+way[i];        if(way[num]<=10000 && DFSID(x, step)) return true;        way[num]=way[num-1]-way[i];        if(way[num]>0 && DFSID(x, step)) return true;        num--;    }    return false;}int main(){    int i,x;    while(~scanf("%d",&x) && x){        for(i=0;;i++){            way[num=0]=1;            if(DFSID(x,i)) break;        }        printf("%d\n",i);    }    return 0;}

0 0
原创粉丝点击