Ball

题意大概就是有三种颜色不同的球,每次放一个,可以放在开头也可以放在中间,如果放在开头,则累加第一个球后面颜色不同的球的种类,若放在中间,则以球为中间点,左侧颜色不同种类的球和右侧不同种类的球数目累加。需要考虑两种情况,一种是未饱和,罗列出可得公式sum*(sum-1)/2,第二种则是饱和状态,当三种颜色球都达到6个以上时,每次只能累加6。注意不能用int,应该用long long,因为int最多能存2^31-1也就大概是2e9+,所也应用long long切记!
在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    long long r,y,b,sum,x;
    while(scanf("%lld %lld %lld",&r,&y,&b)!=EOF)
    {
        sum=0;
        if(r>2)
        {
            sum+=2;
            r=r-2;
        }
        else
        {
            sum+=r;
            r=0;
        }
        if(y>2)
        {
            sum+=2;
            y=y-2;
        }
        else
        {
            sum+=y;
            y=0;
        }
        if(b>2)
        {
            sum+=2;
            b=b-2;
        }
        else
        {
            sum+=b;
            b=0;
        }
        x=sum*(sum-1)/2+sum*(r+y+b);
        printf("%lld\n",x);
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值