| ||||||||||
| 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:高手看请下错哪啦In Reply To:高手看请下错哪啦 Posted by:ecjtujiangyj at 2007-07-27 16:48:59 > #include<stdio.h>
> #include<string.h>
> #include<stdlib.h>
> struct node
> {
> char father[50];
> char child[50];
> int xage;
> int age;
> };
> node a[101];
> bool flag[101];
> int n;
> void recur(int p,int s)
> {
> int i;
> flag[p]=1;
> a[p].age=s-a[p].xage;
> s=a[p].age;
> for(i=1;i<=n;i++)if(!flag[i]&&strcmp(a[i].father,a[p].child)==0) recur(i,s);
> }
> int fun(void const *x,void const *y)
> {
> node s,t;
> s=*(node*)x;t=*(node*)y;
> return t.age-s.age;
> }
> int main()
> {
> int i,j,k,s,t;
> char fa[50];
> scanf("%d",&t);
> for(k=1;k<=t;k++)
> {
> scanf("%d",&n);
> for(i=1;i<=n;i++)
> {
> scanf("%s%s%d",a[i].father,a[i].child,&a[i].xage);
> flag[i]=0;
> }
> strcpy(fa,"Ted");s=100;
> for(i=1;i<=n;i++)if(!flag[i]&&strcmp(a[i].father,fa)==0) recur(i,s);
> qsort(a+1,n,sizeof(a[1]),fun);
> printf("DATASET %d\n",k);
> for(i=1;i<=n;i++)printf("%s %d\n",a[i].child,a[i].age);
>
> }
> }
当年龄相等时,没按字典序
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator