m931. 1. 遊戲選角
解題思路大致是先找到能力值最大的,然後將其設為0
然後再找一次能力值最大的,這樣就達成題意要的能力值第二大的
註:記得要訂vector大小
#include <iostream>
#include <vector>
using namespace std;
int main () {
int n = 0, valaue = 0, max_v = 0, max_v_set = 0;
vector<pair<int, int>> v;
cin >> n;
v.resize(n); // 記得配置vector大小
for (int i = 0; i < n; i ++) {
cin >> v[i].first >> v[i].second;
valaue = v[i].first * v[i].first + v[i].second * v[i].second;
if (valaue >= max_v) {
max_v = valaue;
max_v_set = i;
}
}
v[max_v_set] = {0, 0};
max_v_set = 0;
max_v = 0;
valaue = 0;
for (int i = 0; i < n; i ++) {
valaue = v[i].first * v[i].first + v[i].second * v[i].second;
if (valaue >= max_v) {
max_v = valaue;
max_v_set = i;
}
}
cout << v[max_v_set].first << " " << v[max_v_set].second;
}
留言
張貼留言