首页 > 其他 > 详细

题解 CF1064A 【Make a triangle!】

时间:2020-02-27 14:49:56      阅读:72      评论:0      收藏:0      [点我收藏+]

题目传送门

反正数学方法我是不会

那只能模拟了一只连模拟题解都看不懂的哀怨

我的思路大体如下

1.定义3个变量a,b,c并输入

    int a,b,c;
    cin>>a>>b>>c;

2.定义一个计数变量,归零;再定义一个最小值的变量,每次找出最小值增加1cm

    int cnt=0;
    int minv;

3.前方高能代码核心处,使用循环

    while(1)

因为懒得算循环几次,直接用死循环,符合要求就break即可

4.判断是否符合要求,符合要求就break即可

    if(a+b>c && a+c>b && c+b>a){break;}

5.找出最小值minv

    minv=min(a,min(b,c));

6.找到最小值对应的数 注意用else

    if(minv==a)a++;
    else if(minv==b)b++;
    else if(minv==c)c++;

7.计数器++

    cnt++;

8.最后输出计数器即可

    cout<<cnt;

最后,上代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    int cnt=0;
    int minv;
    while(1)
    {
        if(a+b>c && a+c>b && c+b>a){break;}
        minv=min(a,min(b,c));
        if(minv==a)a++;
        else if(minv==b)b++;
        else if(minv==c)c++;
        cnt++;
    }
    cout<<cnt;
    return 0;
}

题解 CF1064A 【Make a triangle!】

原文:https://www.cnblogs.com/tearing/p/12371846.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!