#729: ADMIN帮忙


lijian1987 (我回来刷题啦)

學校 : 浙江省镇海中学
編號 : 2825
來源 : [61.153.16.138]
最後登入時間 :
2012-02-19 20:05:50
c101. 00122 - Trees on the level -- UVa122 | From: [61.153.16.138] | 發表日期 : 2008-10-24 19:35

。。我用下载来的数据测试是正确的  在这边运行就错几个很奇怪的点 。。。帮忙跑下 。。。

 

 

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int ccc,ttt;
char *token;
char seps[]="(,)";
struct pp
{
 char s[10000];
 int v;
}p[10000];

int main()
{
 ttt=0;
 char tmp[10000],tmpv[10000];
 int i,len,tt,j;
 while(scanf("%s",&tmp)!=EOF)
 {
  ttt++;
  if(tmp[1]==')') continue;
  len=-1;
  tt=0;
  if(tmp[strlen(tmp)-2]==',') tt=1;
  token = strtok( tmp, seps );
  strcpy(tmpv,token);
  p[++len].v=atoi(tmpv);
  token = strtok( NULL, seps );
  if(tt==0)
   strcpy(p[len].s,token);
  else strcpy(p[len].s,"0");
  while(scanf("%s",&tmp)!=EOF)
  {
   if(tmp[1]==')') break;
   tt=0;
   if(tmp[strlen(tmp)-2]==',') tt=1;
   token = strtok( tmp, seps );
   strcpy(tmpv,token);
   p[++len].v=atoi(tmpv);
   token = strtok( NULL, seps );
   if(tt==0)
    strcpy(p[len].s,token);
   else strcpy(p[len].s,"0");
  }
  len++;
  ccc=0;
  for(i=0;i<len;i++)
   for(j=0;j<len;j++)
   {
    if(strlen(p[i].s)==strlen(p[j].s))
    {
     if(strcmp(p[i].s,p[j].s)==-1)
     {
      strcpy(tmp,p[i].s);
      strcpy(p[i].s,p[j].s);
      strcpy(p[j].s,tmp);
      tt=p[i].v;
      p[i].v=p[j].v;
      p[j].v=tt;
     }
     else if(strcmp(p[i].s,p[j].s)==0&&i!=j)
     {
      ccc=1;
      break;
     }
    }
    else if(strlen(p[i].s)<strlen(p[j].s))
    {
     strcpy(tmp,p[i].s);
      strcpy(p[i].s,p[j].s);
      strcpy(p[j].s,tmp);
      tt=p[i].v;
      p[i].v=p[j].v;
      p[j].v=tt;
    }
   }
  if(ccc==1)
   goto out;
  tt=0;
  for(i=1;i<len;i++)
  {
   for(j=0;j<strlen(p[i].s)-1;j++)
    tmp[j]=p[i].s[j];
   tmp[j]=0;
   if(j==0) strcpy(tmp,"0");
   for(j=0;j<i;j++)
   {
    if(strcmp(tmp,p[j].s)==0)
    {
     tt++;
     break;
    }
   }
  }
 if(tt==len-1&&strcmp(p[0].s,"0")==0)
  {
   for(i=0;i<len;i++)
    printf("%d ",p[i].v);
   printf("\n");
  }
  else printf("not complete\n");
out:
  if(ccc==1)printf("not complete\n");

 }
 return 0;
}

 

 
ZeroJudge Forum