| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么一直WA ,谢谢!#include<stdio.h>
#include<stdlib.h>
struct mmd
{
int ci,pi,ti,ri;
}run[1000];
struct nnd
{
int solve,time,name;
}team[500];
int cmp1(const void *a,const void *b)
{
mmd *aa=(mmd*)a;
mmd *bb=(mmd*)b;
if(aa->ci!=aa->ci)
return aa->ci-bb->ci;
if(aa->pi!=bb->pi)
return aa->pi-bb->pi;
if(aa->ti!=bb->ti)
return aa->ti-bb->ti;
return bb->ri-aa->ri;
}
int cmp2(const void *a,const void *b)
{
nnd *aa=(nnd*)a;
nnd *bb=(nnd*)b;
if(aa->solve!=bb->solve)
return bb->solve-aa->solve;
if(aa->time!=bb->time)
return aa->time-bb->time;
return aa->name-bb->name;
}
int main()
{
int c,n,i,j,k;
scanf("%d%d",&c,&n);
for(i=0;i<n;i++)
scanf("%d%d%d%d",&run[i].ci,&run[i].pi,&run[i].ti,&run[i].ri);
qsort(run,n,sizeof(run[0]),cmp1);
for(i=1;i<=c;i++)
{
team[i].solve=0;
team[i].time=0;
team[i].name=i;
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
if(!(run[i].ci==run[j].ci&&run[i].pi==run[j].pi))
break;
for(k=i;k<j;k++)
if(run[k].ri==1)
break;
if(run[k].ri==1)
{
team[run[i].ci].solve++;
team[run[i].ci].time+=run[k].ti+1200*(k-i);
}
i=j-1;
}
qsort(&team[1],c,sizeof(team[1]),cmp2);
printf("%d",team[1].name);
for(i=2;i<=c;i++)
printf(" %d",team[i].name);
printf("\n");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator