[c++]代码库
#include<bits/stdc++.h>
using namespace std;
typedef struct node *Node;
struct node
{
int goldMadal;//金牌
int medal;//奖牌
int populous;//人口
}*Data;
int n;
int GoldTotal(int K)
{
int Sum=Data[K].goldMadal;
int Paimin=1;
for(int i=0; i<n; i++)
{
if(Data[i].goldMadal>Sum)
Paimin++;
}
return Paimin;
}
int MedalTotal(int K)
{
int Sum=Data[K].medal;
int Paimin=1;
for(int i=0; i<n; i++)
{
if(Data[i].medal>Sum)
Paimin++;
}
return Paimin;
}
int GoldPer(int K)
{
double Sum=Data[K].goldMadal*1.0/Data[K].populous;
int Paimin=1;
for(int i=0; i<n; i++)
{
if(Data[i].goldMadal*1.0/Data[i].populous>Sum)
Paimin++;
}
return Paimin;
}
int MedalPer(int K)
{
double Sum=Data[K].medal*1.0/Data[K].populous;
int Paimin=1;
for(int i=0; i<n; i++)
{
if(Data[i].medal*1.0/Data[i].populous>Sum)
Paimin++;
}
return Paimin;
}
int Min(int a,int b,int c,int d)
{
int flag1,flag2,flag;
if(a>b)
{
a=b;
flag1=2;
}
else flag1=1;
if(c>d)
{
c=d;
flag2=4;
}
else flag2=3;
if(a>c)
{
a=c;
flag=flag2;
}
else flag=flag1;
cout<<a<<":"<<flag;
return a;
}
int main()
{
int m;
cin>>n>>m;
Data=(Node)malloc(sizeof(struct node)*n);
for(int i=0; i<n; i++)
cin>>Data[i].goldMadal>>Data[i].medal>>Data[i].populous;
for(int i=0; i<m; i++)
{
int con;
cin>>con;
if(i)
cout<<" ";
int gold=GoldTotal(con);
int medal=MedalTotal(con);
int pgold=GoldPer(con);
int pmedal=MedalPer(con);
Min(gold,medal,pgold,pmedal);
}
return 0;
}
by: 发表于:2018-05-28 15:24:23 顶(0) | 踩(0) 回复
??
回复评论