讨论 / 为何只有三十分?
newHZD 2010-11-12 22:51:00
点我顶贴 收藏 删除
#include<iostream>

using namespace std;

const int N=10;

const int V=1000;

const int M=100;

struct in{

int data;

int FC;

int ph;

}s[M];

int a[M][V];

int cmp(const void *a,const void *b)

{

struct in*c=(in*)a;

struct in*d=(in*)b;

if(c->data!=d->data)return d->data-c->data;

else

if(c->data==d->data&&c->FC!=d->FC) return c->FC-d->FC;

else

if(c->data==d->data&&c->FC==d->FC)return c->ph-d->ph;

}

void work()

{

int i,j,k,n,m,sum=0,sum1=0;

cin>>n>>k>>m;

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

{ sum=0;

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

{cin>>a[i][j];

sum+=a[i][j];

sum1+=a[i][j]*a[i][j];

}

sum/=m;//cout<<sum<<" ";

sum1-=m*sum*sum;

sum1/=n;

s[i].data=sum;

s[i].FC=sum1;

s[i].ph=i+1;

}

qsort(s,n,sizeof(s[0]),cmp);

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

cout<<s[i].ph<<" ";

}

int main()

{

freopen("JXJ.in","r",stdin);

freopen("JXJ.out","w",stdout);

work();

return 0;

}

查看更多回复
提交回复