• 感激的花束 题解


    题目描述:

    南星国的某J从小受某X照顾,有一天,他决定送些花束感激X君。

    他觉得,虽然,送花什么的很狗血,但是,某J是个传统的人,所以,他还是打算送了。

    在某X的家乡,有个奇怪的习俗,一个花束只能有3朵花,要么是三种不同色的,要么是一种色的

    花束送得越多,表示爱意越浓。现在某J所在的花店有红橙黄绿蓝靛紫七种颜色的花。

    花店的南南老板有个怪癖。到她店里来买花的人,最多可以选三种颜色

    某J告诉南南老板,他想送最多的花束来表达他对X的敬意,聪明的南南老板听了某J的描述后,立马就知道了最多能有多少花束。你知道吗?

     

    输入:

    有多组输入,每组第一行输入一个整数T(1<= T <=1000),表示有T组,接下来的T行分别有7个整数(0<=ai<=10^9,i=1,2,....,7)分别表示7种不同颜色的花的数量。

    输出:

    首先输出当前Case k:,k表示第几组,接下来是n行结果。

     

    样例输入:

    2
    1 1 1 1 2 2 2
    2 0 3 4 2 9 1
    3
    3 4 6 1 0 2 3
    0 4 2 3 0 7 1
    0 0 0 0 0 0 0  

    样例输出:

    Case 1:
    2
    5
    Case 2:
    4
    4

     

     

    C++代码:

    #include <cstdio>
    #include <iostream>
    #include <cstring>

    using namespace std;

    int inn[11];

    inline int query()
    {
    return inn[4]/3 + inn[5]/3 + inn[6]/3;
    }

    int main(int argc, const char * argv[])
    {
    int t,tt = 0;
    while(~scanf("%d", &t))
    {
    printf("Case %d: ",++tt);
    while(t--)
    {
    for(int i=0;i<7;++i)
    {
    scanf("%d",&inn[i]);
    }
    sort(inn,inn+7);
    int result = 0;
    result = query();
    if(inn[4])
    {
    --inn[4];
    --inn[5];
    --inn[6];
    result = max(result,1+query());
    }
    if(inn[4])
    {
    --inn[4];
    --inn[5];
    --inn[6];
    result = max(result,2+query());
    }
    if(inn[4])
    {
    --inn[4];
    --inn[5];
    --inn[6];
    result = max(result,3+query());
    }
    printf("%d ",result);
    }
    }
    return 0;
    }

     

  • 相关阅读:
    《鸟哥的私房菜阅读摘要》——linux的简介和计算机基础
    抽象类可以有构造函数吗
    Java对象及对象引用变量
    html5的学习笔记
    xhtml的学习笔记
    交换机配置原理
    (转)MSI
    python xy
    Microsoft SilverLightt是一个跨浏览器的、跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序。
    epub使用Adobe Digital Editions打开
  • 原文地址:https://www.cnblogs.com/lxl0928/p/3864316.html
Copyright © 2020-2023  润新知