现在的位置: 首页 > 综合 > 正文

HDU 1085 Holding Bin-Laden Captive!

2014年02月07日 ⁄ 综合 ⁄ 共 603字 ⁄ 字号 评论关闭

  poj 1085  

  题目大意: 有一个币值系统,里面有 1元,2元,5元,其数量分别为 num1 张,num2 张,num3张, 

 现在需要 求出最小不能表示的币值。

  解题思路:

     可以分为三类:(1)没有 元的,那么输出 1;

                  (2)没有5 元的 或者(1,2 元的价值总和小于 4),那么输出 值为 num1+2 * num2 +1;

                  (3)1,2 元的价值总和 〉= 4,那么 就可以 4—〉5,即 最大可表示数为:num1+2
* num2+5*num3;


code:

#include
<stdio.h>

int main()

{

    int num1,num2,num3,max12,max;

    while(1)

    {

        scanf("%d%d%d",&num1,&num2,&num3);

        if(num1==0&&num2==0&&num3==0)break;

        if(num1==0){printf("1\n");continue;}

         max12=num2*2+num1;

        if(num3==0||max12<4)

        {printf("%d\n",max12+1);continue;}

        //只要有一个4,就可以变为5;即最大数为下面的max

        max=num1+num2*2+num3*5;

        printf("%d\n",max+1);

    }

    return
0;

}

抱歉!评论已关闭.