slgqhcsdn 2022-02-18 18:36 采纳率: 76.9%
浏览 154
已结题

关于#c++#的问题,如何解决?(吃苹果)

题目描述
连小朋友都知道,呆毛王Saber喜欢吃苹果。现在Saber有三箱苹果。第一个箱子里有n1个苹果,第二箱有n2个,第三箱有n3个。Saber是个吃货,但也是个爱美的女生。三箱苹果这样看起来更好看:第一点就是每个箱子都不能空。第二点就是苹果数量应该是递增的。也就是说,第一个箱子的苹果数少于第二箱子,第二箱的苹果少于第三箱。Saber今天有些饱,所以想通过吃尽量少的苹果同时满足以上两个要求而使箱子看上去更美。请你输出Saber吃掉的最少的苹果数量。如果她无法完成心愿就输出-1吧。

输入格式
第一行,一个正整数n,表示数据的组数,n<=5
接下来n行,每行三个正整数,依次代表第一个,第二个,第三个箱子分别拥有的苹果。其中1<=输入的数<=3000

输出格式
n行,每行一个整数,即题目要求的答案。

输入样例
输入样例1:
1
15 40 22
输入样例2:
2
1 3 1
1 1234 3000

输出样例
输出样例1:
19
输出样例2:
-1
0

  • 写回答

1条回答 默认 最新

  • fuill 2022-02-18 21:10
    关注

    解答如下

    #include<iostream>
    using namespace std;
    int eatapple(int a,int b,int c)
    {
        if(a<b&&b<c&&a>0)
            return 0;
        if(b-a>=a||c-b>=b)
            return -1;
        int count=a+b+c;
        while(a>=b||b>=c)
        {
            if(a>=b)
                a--;
            if(b>=c)
                b--;
        }
        return count-a-b-c;
    }
    int main()
    {
        int a,b,c,n;
        cin >> n;
        while(n--)
        {
            cin >>a>>b>>c;
            cout << eatapple(a,b,c) << endl;
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 2月18日

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败