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

     

  • 相关阅读:
    WebClient.UploadData 方法 上载文件数据
    webclient提交并接受返回
    webClient上载下载
    斯特林反演与伯恩赛德引理
    Re0: 从 1 开始的省选前生活
    Windows 8将可能带动触摸屏的发展
    后PC时代的那些事
    关于ASP网页在IIS7.5下访问数失效
    Windows 要终结了?微软要推超级系统?
    未来10年的开放式互联网
  • 原文地址:https://www.cnblogs.com/yspworld/p/4049947.html
Copyright © 2011-2022 走看看