CF1236A Stones

这就是个贪心。

贪心策略

因为两个操作都和第 2 堆有关,所以要让第 2 堆的尽量少拿。

操作 2 需要 1 个第二堆的,而操作 1 需要两个。

所以先用操作 2,不能拿了再用操作 1。

代码实现

注意多组数据每次 ans 要重置。

#include <iostream>
using namespace std;
int t, a, b, c, ans;
int main()
{
    cin >> t;
    for(int i = 0;i < t;++i)
    {
        cin >> a >> b >> c;ans = 0;
        while(b >= 1 && c >= 2) --b, c -= 2, ans += 3;
        while(a >= 1 && b >= 2) --a, b -= 2, ans += 3;
        cout << ans << endl;
    }
    return 0;
}
posted @ 2021-08-12 07:57  5k_sync_closer  阅读(0)  评论(0编辑  收藏  举报  来源