硬币那道题我是第一题。。。想着是拿动态规划做,大家帮我看看,为什么min_num就是不变呢==我觉得我逻辑没问题啊ORZ #include <iostream> using namespace std; void find_equal(int num1,int num2,int n,int total1,int total2,int &min_num){   if(num1==total1&&num2==total2){     if(n<min_num)       min_num=n;     return;   }   if(num1>total1)     return;   n=n+1;   find_equal(num1*2,num2*2,n,total1,total2,min_num);   find_equal(num1+1,num2*2,n,total1,total2,min_num); } int main() {     int a,b,A,B;   while(cin >> a >> b>>A>>B){     int min_num=100000;     find_equal(a,b,0,A,B,min_num);     if(min_num!=100000)       cout<<min_num<<endl;     else       cout<<"-1"<<endl;   } }
点赞 评论

相关推荐

牛客网
牛客企业服务