社区讨论
60分求助
P1093[NOIP 2007 普及组] 奖学金参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhjktzcs
- 此快照首次捕获于
- 2025/11/04 04:12 4 个月前
- 此快照最后确认于
- 2025/11/04 04:12 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
int sx[n],yw[n],yy[n];
int num[n];
for(int i = 0;i < n;i++){
cin >> sx[i] >> yw[i] >> yy[i];
num[i] = i + 1;
}
for(int i = 0;i < n;i++){
for(int j = 0;j < n - 1;j++){
if(sx[j] + yw[j] + yy[j] < sx[j + 1] + yw[j + 1] + yy[j + 1]){
swap(sx[j],sx[j + 1]);
swap(yw[j],yw[j + 1]);
swap(yy[j],yy[j + 1]);
swap(num[j],num[j + 1]);
}else if(sx[j] + yw[j] + yy[j] == sx[j + 1] + yw[j + 1] + yy[j + 1]){
if(yw[j] < yw[j + 1]){
swap(sx[j],sx[j + 1]);
swap(yw[j],yw[j + 1]);
swap(yy[j],yy[j + 1]);
swap(num[j],num[j + 1]);
}else if(yw[j] == yw[j + 1]){
if(num[j] > num[j + 1]){
swap(sx[j],sx[j + 1]);
swap(yw[j],yw[j + 1]);
swap(yy[j],yy[j + 1]);
swap(num[j],num[j + 1]);
}
}
}
}
}
for(int i = 0;i < min(n,5);i++){
cout << num[i] << ' ' << sx[i] + yw[i] + yy[i] << endl;
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...