ZZULIOJ----2618: ACM-ICPC亚洲区域赛ZZUL

简介: ZZULIOJ----2618: ACM-ICPC亚洲区域赛ZZUL

题意描述:

玩了这么多游戏,V决定还是去做几道ACM题练练手,于是翻到了一道201X年ACM/ICPC亚洲区域赛某站的现场赛签到试题,但是由于多年不刷题,已经忘了怎么做了

作为将来的ACM校队扛把子的你,请帮助他解决一下吧。

现场赛题目如下:

Jenny likes balls. He has some balls and he wants to arrange them in a row on the table.

Each of those balls can be one of three possible colors: red, yellow, or blue. More precisely, Jenny has R red balls, Y yellow balls and B blue balls.

He may put these balls in any order on the table, one after another.

Each time Jenny places a new ball on the table, he may insert it somewhere in the middle (or at one end) of the already-placed row of balls.

Additionally, each time Jenny places a ball on the table, he scores some points (possibly zero). The number of points is calculated as follows:

1.For the first ball being placed on the table, he scores 0 point.

2.If he places the ball at one end of the row, the number of points he scores equals to the number of different colors of the already-placed balls (i.e. expect the current one) on the table.

3.If he places the ball between two balls, the number of points he scores equals to the number of different colors of the balls before the currently placed ball,

plus the number of different colors of the balls after the current one.

What’s the maximal total number of points that Jenny can earn by placing the balls on the table?

hint:对于志在区域赛的acmer们,数学思维和英语读题能力是必不可少的 : )

hint again: 感谢husy(胡胜勇)对本次周赛试题的数据测试及标程提供

输入:

多实例

输入T,表示共有T组数据(T=100)

每组数据包含三个整数R,Y,B (0<= R,Y,B <=10000)

输出:

对于每组输入,输出最高得分

样例输入:

3
2 2 2
3 3 3
4 4 4

样例输出:

15
33
51

解题思路:这个题就是一个模拟的过程,因为题上说总和分最大也就是每一次放球都要保证得分最大。

1、当只有一种颜色球的时候,最后得分每一次最高为2;

2、当只有两种颜色的球和其中一种颜色球只有一个时候,最后每一次得到的最高分为3;

3、当只有两种颜色的球的时候 ,最后每一次得分最高为4;

4、当其中两种颜色的球只有一个的时候,最后每次最高得分为4;

5、当一种颜色球为1个另一个颜色球为2的时候,最后每次最高得分为5;

6、当一种颜色球为1,其余都大于2的时候,最后每次得分最高为5;

7、当三种颜色球都大于2的时候,最后每次得分最高为6;

程序代码:

#include<stdio.h>
int main()
{
    int i,n,m,j,k,T;
    long long a,b,c,sum;
    scanf("%d",&T);
    while(T--)
    {
        sum=0;
        scanf("%lld%lld%lld",&a,&b,&c);
        n=a+b+c;
        if(n==0||n==1)
            sum=0;
        if(n>=2)
            sum+=1;
        if(n>=3)
            sum+=2;
        if((a==0&&b==0)||(a==0&&c==0)||(c==0&&b==0))
        {
          if(n>=4)
            sum+=2*(n-3);
        }
        else if((a==0&&b==1)||(a==0&&c==1)||(c==0&&b==1)||((c==0&&a==1)||(b==0&&a==1)||(b==0&&c==1)))
        {
            if(n>=3)
                sum+=3*(n-3);
        } 
        else if((a==0&&b>1)||(a==0&&c>1)||(c==0&&b>1)||((c==0&&a>1)||(b==0&&a>1)||(b==0&&c>1)))
        {
            if(n>=4)
                sum+=3;
            if(n>=5)
                sum+=4*(n-4);
        }
        else if((a==1&&b==1)||(a==1&&c==1)||(c==1&&b==1)||((c==1&&a==1)||(b==1&&a==1)||(b==1&&c==1)))
        {
            if(n>=4)
                sum+=3;
            if(n>=5)
                sum+=4*(n-4);
        }
        else if((a==1&&b==2)||(a==1&&c==2)||(c==1&&b==2)||((c==1&&a==2)||(b==1&&a==2)||(b==1&&c==2)))
        {
            if(n>=4)
                sum+=3;
            if(n>=5)
                sum+=4;
            if(n>=6)
                sum+=5*(n-5);
        }
        else if((a==1&&b>2)||(a==1&&c>2)||(c==1&&b>2)||((c==1&&a>2)||(b==1&&a>2)||(b==1&&c>2)))
        {
            if(n>=4)
                sum+=3;
            if(n>=5)
                sum+=4;
            if(n>=6)
                sum+=5*(n-5);
        }
        else if((a>=2&&b>=2&&c>=2)||(a>=2&&c>=2&&b>=2)||(a>=2&&c>=2&&b>=2)||((b>=2&&c>=2&&a>=2)||(c>=2&&b>=2&&a>=2)||(a>=2&&b>=2&&c>=2)))
        {
            if(n>=4)
                sum+=3;
            if(n>=5)
                sum+=4;
            if(n>=6)
                sum+=5;
            if(n>=7)
                sum+=6*(n-6);
        }
        printf("%lld\n",sum);
    }
    return 0;
} 
相关文章
|
10月前
|
监控 物联网 视频直播
流量卡类型及其适用场景
不同流量卡的使用场景可以根据其特点、套餐内容、价格以及用户的具体需求来划分。以下是一些常见的流量卡类型及其适用场景:
|
存储 计算机视觉
机器视觉-边缘检测与图像分割原理
机器视觉-边缘检测与图像分割原理
231 0
|
计算机视觉
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
1228 0
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
|
8月前
|
人工智能 安全 Android开发
《鸿蒙系统AI优势:超越安卓,开启智能新篇》
鸿蒙系统在人工智能浪潮中展现出独特优势。其系统级原生智能简化开发,AI大模型接入提升智慧交互,微内核架构保障安全稳定,分布式架构实现多设备无缝协同,隐私保护措施全面,智能检测实时防护。相比安卓,鸿蒙在开发效率、智能性、安全性及用户体验上更具竞争力,为用户带来更智能、便捷、安全的使用体验。
563 6
|
9月前
|
前端开发 开发者
|
监控 安全 数据可视化
Splunk工具学习(下载、安装、简单使用、核心概念)
Splunk工具学习(下载、安装、简单使用、核心概念)
546 0
|
7月前
|
人工智能 自然语言处理 监控
通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统
通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统
144 0
|
10月前
|
存储 人工智能 编解码
阿里云服务器计算型c8i、通用型g8i和计算型c8a、通用型g8a实例区别及选择参考
在选择阿里云服务器计算型和通用型实例规格的时候,有的用户不清楚计算型c8i、通用型g8i与计算型c8a、通用型g8a实例的区别,他们都是采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。但是计算型c8i和通用型g8i实例用的是Intel处理器,计算型c8a和通用型g8a实例用的是AMD处理器。本文将详细介绍阿里云服务器计算型c8i、通用型g8i与计算型c8a、通用型g8a实例各自的性能和区别,以及适合的用户群体,帮助用户更好地选择适合自己的云服务器实例。
|
KVM 虚拟化
KVM的热添加技术之CPU
这篇文章介绍了如何在KVM虚拟机中热添加CPU资源,包括查看当前CPU配置、修改CPU核心数、永久性修改CPU配置以及注意事项等操作步骤。
308 1
KVM的热添加技术之CPU
【天梯赛】L1-095 分寝室
输出的方案对应女生都是 24/4=6 人间、男生都是 60/6=10 人间,人数差为 4。满足前三项要求的分配方案还有两种,即女生 6 间(都是 4 人间)、男生 4 间(都是 15 人间);同时,每间女寝人数必须都一样,每间男寝人数必须都一样,也就是女生总人数对女寝数取模为0,男生总人数对男寝数取模为0。输入在一行中给出 3 个正整数 n0​、n1​、n,分别对应女生人数、男生人数、寝室数。按题意模拟,因为知道总寝室数为n,所以可以从1~n-1暴力枚举女寝 i 的数量,那么男寝的数量则为 c-i。
232 6

热门文章

最新文章