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

     

  • 相关阅读:
    【彩彩只能变身队】后端工作总结
    彩彩只能变身队团队项目进展记录by后端
    一周工作+会议汇报(6.3)
    【彩彩只能变身队】第七次会议
    【彩彩只能变身队】第六次会议
    这个博客正式废用了!!!!搬家了!!!!
    [软件工程]一些不错的学习网站
    NWERC 2015 Problem H: Hole in One
    HDU 5970 CCPC2016合肥 求等差数列整除整数下取整求和
    [软件工程]python 发送邮件网易邮箱163示范
  • 原文地址:https://www.cnblogs.com/yspworld/p/4049947.html
Copyright © 2011-2022 走看看