#include<stdio.h>
#include<stdlib.h>
#define MAX 224
struct node{
int gold;
int reward;
int person;
float avergold;
float averreward;
int rank;
int number;
}P[MAX];
void Insertsort(int A[],int N)
{
int i,j,temp;
for(i=1;i<N;i++)
{
temp=A[i];
for(j=i;j>0&&temp>A[j-1];j--)
A[j]=A[j-1];
A[j]=temp;
}
}
void Insertsort2(float A[],int N)
{
int i,j;
float temp;
for(i=1;i<N;i++)
{
temp=A[i];
for(j=i;j>0&&temp>A[j-1];j--)
A[j]=A[j-1];
A[j]=temp;
}
}
main()
{
int N,M,i,j,country[MAX];
int num1[MAX],temp;
float num2[MAX],temp2;
scanf("%d %d",&N,&M);
for(i=0;i<N;i++)
{
scanf("%d %d %d",&P[i].gold,&P[i].reward,&P[i].person);
P[i].avergold=(float)P[i].gold/P[i].person;
P[i].averreward=(float)P[i].reward/P[i].person;
P[i].rank=MAX;
}
for(i=0;i<M;i++)
scanf("%d",&country[i]);
//金牌排名
for(i=0;i<N;i++)
num1[i]=P[i].gold;
Insertsort(num1,N);
for(i=0;i<N;i++)
{
temp=num1[i];
for(j=0;j<N;j++)
{
if(temp==P[j].gold)
{
if(i<P[j].rank)
{
P[j].rank=i;
P[j].number=1;
}
}
}
}
//奖牌排名
for(i=0;i<N;i++)
num1[i]=P[i].reward;
Insertsort(num1,N);
for(i=0;i<N;i++)
{
temp=num1[i];
for(j=0;j<N;j++)
{
if(temp==P[j].reward)
{
if(i<P[j].rank)
{
P[j].rank=i;
P[j].number=2;
}
}
}
}
//国民人均金牌排名
for(i=0;i<N;i++)
num2[i]=P[i].avergold;
Insertsort(num2,N);
for(i=0;i<N;i++)
{
temp2=num2[i];
for(j=0;j<N;j++)
{
if(temp2==P[j].avergold)
{
if(i<P[j].rank)
{
P[j].rank=i;
P[j].number=3;
}
}
}
}
//国民人均奖牌排名
for(i=0;i<N;i++)
num2[i]=P[i].averreward;
Insertsort(num2,N);
for(i=0;i<N;i++)
{
temp2=num2[i];
for(j=0;j<N;j++)
{
if(temp2==P[j].averreward)
{
if(i<P[j].rank)
{
P[j].rank=i;
P[j].number=4;
}
}
}
}
//输出
for(i=0;i<M-1;i++)
printf("%d:%d ",P[country[i]].rank+1,P[country[i]].number);
printf("%d:%d\n",P[country[i]].rank+1,P[country[i]].number);
}
5-40 奥运排行榜
最新推荐文章于 2022-12-11 18:12:15 发布