Ball

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

#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;
}