ZeroJudge D659: Cost Cutting

題目敘述

每筆測資第一行有一個正整數T,接下來會有T行,每行會有三個正整數,代表三個人的薪資。要求輸出排序後中間的人的薪資。


範例輸入 #1

3

1000 2000 3000

3000 2500 1500

1500 1200 1800


範例輸出 #1

Case 1: 2000

Case 2: 2500

Case 3: 1500


解題思路

將三個數字收到Vector或陣列中,然後進行排序,再將第一個位置的資料 (中間的資料) 輸出即可。

解題程式碼如下 (僅供參考):

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    cin.sync_with_stdio(0);
    cin.tie(0);
    int T;
    cin >> T;
    for (int i = 0; i<T; i++)
    {
        vector<int>num;
        for (int j = 0; j<3; j++)
        {
            int tmp;
            cin >> tmp;
            num.push_back(tmp);
        }
        sort(num.begin(), num.end());
        cout << "Case " << i+1 << ": " << num[1] << "\n";
    }
}

留言