同題:UVa 11727 – Cost Cutting
XYZ股份有限公司被巨大的金融海嘯襲擊而必須得減少支出,這些措施包括縮小辦公空間、開放資源、削減獎勵、減少奢侈品的開銷以及裁員。
現在這家公司有 3 位員工,而現在公司要裁掉其中 2 個。經過一連串的面談,公司希望裁掉拿最多薪水以及拿最少薪水的兩人。這種作法似乎是現在的一股趨勢。
現在給你 3 位員工的薪水,請你找出誰不會被裁員。
範例測資
範例輸入 | 範例輸出 |
---|---|
第一行有一整數 T (T < 20) 代表下列有幾行測資。每行測資包括三個整數代表三人的薪水,他們的薪水介於 1000 至 10000 之間。 | 對於每行測資,請輸出一行格式為「Case X: Y」,其中 X 代表第幾筆測資,Y 代表不會被裁員的員工薪水。 |
3 1000 2000 3000 3000 2500 1500 1500 1200 1800 | Case 1: 2000 Case 2: 2500 Case 3: 1500 |
解題思路
將三個數字收到 Vector 或陣列中,然後進行排序,再將第一個位置的資料 (中間的資料) 輸出即可。
範例程式碼-ZeroJudge D659: Cost Cutting
#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";
}
}
//ZeroJudge D659
//Dr. SeanXD