codeforces 322 B Ciel and Flowers

题目链接

有红绿蓝三种颜色的画,每种拿三朵可以组成一束花,或者各拿一朵组成花束,告诉你每种花的数目,求出可能组成最多的花束。

如果你的代码过不了,考虑一下 8 8 9这种组合。  因为数据量很大,我的思想就是局部和总体采用不同的策略。

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int r, g, b;
    while (cin >> r >> g >> b)
    {
        int m = min(r, g);
        m = min (m, b);
        int ans = 0;
        int a = 0;
        for (int i = 0; i <= 10000 && i <= m; i++)
        {
            a = (r-i)/3 + (g-i)/3 + (b-i)/3 + i;
            ans = max(a, ans);
        }
        cout << ans << endl;
    }
    return 0;
}


posted @ 2013-06-29 09:33  xindoo  阅读(251)  评论(0编辑  收藏  举报