解题:奖学金
2023-08-17 11:27:30
发布于:广东
0阅读
0回复
0点赞
空降坐标:CP002791
来源:NOIP2007 普及组
请看代码
#include <bits/stdc++.h>
const int maxn=100001;
using namespace std;
int main()
{
int n;
int id[maxn],cn[maxn],math[maxn],en[maxn],sum[maxn];
cin>>n;
for(int i=1;i<=n;i++)
{
id[i]=i;
cin>>cn[i]>>math[i]>>en[i];
sum[i]=cn[i]+math[i]+en[i];
}
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(sum[j]>sum[i])
{
swap(id[j],id[i]);
swap(sum[j],sum[i]);
swap(cn[j],cn[i]);
swap(math[j],math[i]);
swap(en[j],en[i]);
}
else if(sum[j]==sum[i])
{
if(cn[j]>cn[i])
{
swap(id[j],id[i]);
swap(sum[j],sum[i]);
swap(cn[j],cn[i]);
swap(math[j],math[i]);
swap(en[j],en[i]);
}
else if(cn[i]==cn[j])
{
if(id[j]<id[i])
{
swap(id[j],id[i]);
swap(sum[j],sum[i]);
swap(cn[j],cn[i]);
swap(math[j],math[i]);
swap(en[j],en[i]);
}
}
}
}
}
for(int i=1;i<=5;i++)
{
cout<<id[i]<<' '<<sum[i]<<endl;
}
}
这里空空如也
有帮助,赞一个