zoukankan      html  css  js  c++  java
  • codeforces 的 Codeforces Round #273 (Div. 2) --C Table Decorations

    C. Table Decorations
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    You have r red, g green and b blue balloons. To decorate a single table for the banquet you need exactly three balloons. Three balloons attached to some table shouldn't have the same color. What maximum number t of tables can be decorated if we know number of balloons of each color?

    Your task is to write a program that for given values rg and b will find the maximum number t of tables, that can be decorated in the required manner.

    Input

    The single line contains three integers rg and b (0 ≤ r, g, b ≤ 2·109) — the number of red, green and blue baloons respectively. The numbers are separated by exactly one space.

    Output

    Print a single integer t — the maximum number of tables that can be decorated in the required manner.

    Sample test(s)
    input
    output
    input
    output
    input
    output
    Note

    In the first sample you can decorate the tables with the following balloon sets: "rgg", "gbb", "brr", "rrg", where "r", "g" and "b" represent the red, green and blue balls, respectively.

     

      从网上找到两种代码,算法的核心思路是一样的。有待仔细研究一下,我想过要用该路的问题,但好像又行不通。

      最后演变成了规律性的解。

     

    #include <stdio.h>
        #include <iostream>
        #include <cstring>
        #include <algorithm>
        #include <cmath>
        using namespace std;
        long long r;
        long long g,b,ans;
        int main()
        {
             scanf("%I64d%I64d%I64d",&r,&g,&b);
             
             ans=min(min(min((r+g+b)/3,r+g),r+b),b+g);
             
             printf("%I64d
    ",ans);
             
             return 0;
        }
    

     

    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    #define INF 0x7fffffff
    
    long long a[4], t;
    
    int main()
    {
      #ifdef sxk
        freopen("in.txt","r",stdin);
      #endif
      int n;
      while(scanf("%lld%lld%lld",&a[0], &a[1], &a[2])!=EOF)
      {
        sort(a, a+3);
        if(a[2] > 2*(a[0]+a[1])) t = a[0] + a[1];
        else
        t = (a[0]+a[1]+a[2])/3;
        printf("%lld
    ", t);
      }
      return 0;
    }
    

     

  • 相关阅读:
    Emmet使用
    正则参考网址
    sublime通用快捷键 汉化 安装 插件
    【真正福利】成为专业程序员路上用到的各种优秀资料、神器及框架
    生产事故的优化经历
    Windows下oracle打补丁步骤
    Oracle10g完全卸载正确步骤
    在windows2003系统上安装两个版本的oracle
    oracle11g数据库升级数据库升级
    oracle Imp和exp以及导入常见的错误
  • 原文地址:https://www.cnblogs.com/yspworld/p/4049947.html
Copyright © 2011-2022 走看看