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

关于#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日

悬赏问题

  • ¥200 如何使用postGis实现最短领规划?
  • ¥15 pyinstaller打包错误
  • ¥20 cesm的气溶胶排放文件
  • ¥15 逐月累计,月份不连续,补齐月份
  • ¥15 应用简单的Python代码完成一个学生成绩管理系统
  • ¥15 用matlab求微分方程初值问题
  • ¥15 vscode下编写第三方库opencv与pcl代码时没有代码提示
  • ¥15 能够跑通不报错,如何解决?(标签-matlab)
  • ¥15 MOS在RDS较大,频率高时开关波形异常
  • ¥15 SCENIC分析报错求解答