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 |
Re:ft 过几天来看,发现自己是 team 定义小了...改为1001就ac了 其他的没问题In Reply To:为什么一直WA ,谢谢! Posted by:yujiashan at 2006-12-03 15:48:34 > #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