szbxmz @ 2018-07-07 11:50:20
#include<bits/stdc++.h>
int n,i,j,a[301][5],ma[301][5],max1,temp;
using namespace std;
int main(){
freopen("scholar.in","r",stdin);
freopen("scholar.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=2;j<=4;j++){
scanf("%d",&a[i][j]);
}
a[i][1]=i;
a[i][5]=a[i][2]+a[i][3]+a[i][4];
}
max1=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
if(a[i][5]>max1){
max1=a[i][5];
ma[1][1]=i;
ma[1][2]=a[i][5];
ma[1][3]=a[i][2];
}
}
max1=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
if(a[i][5]>max1){
if(i!=ma[1][1]){
max1=a[i][5];
ma[2][1]=i;
ma[2][2]=a[i][5];
ma[2][3]=a[i][2];
}
}
}
max1=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
if(a[i][5]>max1){
if(i!=ma[1][1] && i!=ma[2][1]){
max1=a[i][5];
ma[3][1]=i;
ma[3][2]=a[i][5];
ma[3][3]=a[i][2];
}
}
}
max1=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
if(a[i][5]>max1){
if(i!=ma[1][1] && i!=ma[2][1] && i!=ma[3][1]){
max1=a[i][5];
ma[4][1]=i;
ma[4][2]=a[i][5];
ma[4][3]=a[i][2];
}
}
}
max1=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
if(a[i][5]>max1){
if(i!=ma[1][1] && i!=ma[2][1] && i!=ma[3][1] && i!=ma[4][1]){
max1=a[i][5];
ma[5][1]=i;//student number
ma[5][2]=a[i][5];//All
ma[5][3]=a[i][2];//China
}
}
}
for(i=1;i<=4;i++)
for(j=1;j<=5;j++){
if(ma[i][2]==ma[j][2]){
if(ma[i][3]>ma[j][3]){
temp=ma[j][3];
ma[j][3]=ma[i][3];
ma[i][3]=temp;
temp=ma[j][2];
ma[j][2]=ma[i][2];
ma[i][2]=temp;
temp=ma[j][1];
ma[j][1]=ma[i][1];
ma[i][1]=temp;
}
if(ma[i][3]==ma[j][3] && && ma[i][1]<ma[j][1]){
temp=ma[j][3];
ma[j][3]=ma[i][3];
ma[i][3]=temp;
temp=ma[j][2];
ma[j][2]=ma[i][2];
ma[i][2]=temp;
temp=ma[j][1];
ma[j][1]=ma[i][1];
ma[i][1]=temp;
}
}
}
for(i=1;i<=5;i++){
printf("%d %d\n",ma[i][1],ma[i][2]);
}
return 0;
}
大佬求教,输出中第四排第一个和第五排第一个反了(143和171)
by mabangjie @ 2018-07-24 13:15:31
@魏曙东
!太复杂了!
by mabangjie @ 2018-07-24 13:15:45
@魏曙东
#include<bits/stdc++.h>
using namespace std;
struct gggg
{
int x;
int y;
int z;
}a[500];
bool cmp(gggg a,gggg b)
{
if(a.x!=b.x)
return a.x>b.x;
if(a.y!=b.y)
return a.y>b.y;
return a.z<b.z;
}
int main()
{
int n,yu,shu,wai;
cin>>n;
for(int i=0;i<=n-1;i++)
{
cin>>yu>>shu>>wai;
a[i].x=yu+shu+wai;
a[i].y=yu;
a[i].z=i+1;
}
sort(a,a+n,cmp);
for(int i=0;i<=4;i++)
cout<<a[i].z<<" "<<a[i].x<<endl;
return 0;
}