mnb 2011-01-24 01:32:00
点我顶贴
收藏
删除
#include "stdio.h"
struct
{
int h,x[15],b,sum;
}s[1100],t;
int f(int n)
{
return(n*n);
}
int main()
{
int m,n,k,i,j;
scanf("%d%d%d",&n,&m,&k);
for(i=0;i<n;i++)
{
s[i].sum=0;
s[i].h=i;
for(j=0;j<k;j++)
{
scanf("%d",&s[i].x[j]);
s[i].sum+=s[i].x[j];
}
s[i].sum=s[i].sum/k;
}
for(i=0;i<n;i++)
for(j=i;j<n;j++)
{
if(s[i].sum<s[j].sum){t=s[i];s[i]=s[j];s[j]=t;}
else if(s[i].sum==s[j].sum){int s1=0,s2=0;
for(int u=0;u<k;u++)
{
s1+=f(s[i].x[u]);
s2+=f(s[j].x[u]);
}
s1=s1*k*f(s[i].sum)/k;
s2=s2*k*f(s[i].sum)/k;
if(s1>s2){t=s[i];s[i]=s[j];s[j]=t;}
else if(s1==s2){if(s[i].h>s[j].h){t=s[i];s[i]=s[j];s[j]=t;}}}
}
for(i=0;i<m;i++)
printf("%d ",s[i].h+1);
getchar();
getchar();
}