讨论 / 为何错了?只有40分。
rw 2011-10-14 04:35: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];

}

}

for(i=0;i<n;i++)

for(j=i;j<n;j++)

if(s[i].sum<=s[j].sum){if(s[i].sum==s[j].sum){

int s1=0,s2=0,l;

for(l=0;l<k;l++)

{

s1+=f(s[i].x[l]);

s2+=f(s[j].x[l]);

}

s1=(s1-k*f(s[i].b))/k;

s2=(s2-k*f(s[j].b))/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;}}

}

else{t=s[i];s[i]=s[j];s[j]=t;}

}

for(i=0;i<m;i++)

printf("%d ",s[i].h+1);

getchar();

getchar();

getchar();

}

#1 rw@2010-12-04 02:28:00
回复 删除
谁帮我看看?

THANKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#2 lijiaming12340@2011-10-14 04:35:00
回复 删除
我也是

查看更多回复
提交回复