算法入門練習記錄

沫璃邀請她的朋友參加週末的派對。沫璃買了3種顏色的氣球,現在她要有這些氣球來裝飾餐桌,每個餐桌只用恰好3個氣球裝飾,要求3個氣球的顏色不能完全一樣,可以是2種或者3種顏色。沫璃想知道這些氣球最多能裝飾多少張餐桌。

分析:取出值最大的顏色,只要其他兩種顏色加起來達到總顏色的1/3,那麼答案是氣球總數/3,如果達不到1/3,那麼答案是氣球總數減去最大值顏色。

 

 


#include<iostream>
using namespace std;
 
int main(){
    int t;
    while (cin >> t) { //t是次數
        long long arr[101][3];
        for (int i = 0; i < t; i++)
        {
            long long sum = 0;
            long long max = 0;
            for (int j = 0; j < 3; j++)
            {
                cin >> arr[i][j];
                sum += arr[i][j];
                if (arr[i][j] > max)
                {
                    max = arr[i][j];
                }
            }
            if ((sum/3) <= (sum - max))
            {
                cout << sum / 3 << endl;
            }
            else 
            {
                cout << (sum - max) << endl;
            }
            sum = 0;
            max = 0;
        }
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章