统计射击成绩[(https://www.online1987.com/统计射击比赛成绩/)]
统计射击成绩[(https://www.online1987.com/统计射击比赛成绩/)]
include
include
include//使用sort需要引的头文件
using namespace std;
int main() {
int N = 0;
char c = '0';
cin >> N;
vector<vector
for (int i = 0; i < N; ++i) {
if(i==12) cin >> score[i][0];//最后一位没有逗号
else
cin >> score[i][0]>>c;//处理逗号
}
for (int i = 0; i < N; ++i) {
if(i == 12) cin >> score[i][1];
else
cin >> score[i][1] >> c;
}
sort(score.begin(), score.end());
vector<vector
int p = N - 1;//倒着取数
while (p>=2) {
if (score[p][0] == score[p - 2][0]) {
res.push_back({score[p][1] + score[p - 1][1] + score[p - 2][1] , score[p][0]});
}//因为接下来要使用sort()对分数排序,所以把分数插在第一行,ID在第二行。
while (score[p][0] == score[p - 1][0]) {
--p;
if (p == 0) break;//防止p-1越界
}//while循环使p到相同元素的边界
--p;//到下一个元素
}
sort(res.begin(), res.end());//对二维数组使用sort,相当于字典排序。
for (int i = res.size()-1; i>=0; --i) {
cout << res[i][1] << endl;
}
//for (int i = res.size() - 1; i >= 0; --i) {
//cout << res[i][0] << endl;测试计算结果
//}
return 0;
}

浙公网安备 33010602011771号