Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

为什么受伤的总是我.大牛门帮我SEE啊

Posted by yanhaofeng at 2006-07-18 11:36:03 on Problem 2001
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct ab{char st[30];int num;}xx[1010];
int fun(const void *x,const void *y)
{ ab a,b;
  a=*(ab *)x;b=*(ab *)y;
  return strcmp(a.st,b.st);
}
int cmp(char *name,int m)
{ int i,j,k,L1,L2,sum;
  L1=strlen(name);L2=strlen(xx[m].st); 
  sum=0;
  for(j=0;j<L1&&j<L2;j++)
  { if(name[j]==xx[m].st[j])sum++;
  }
  return sum;
}
int main()
{ int i,j,k,n,i0,sum,L1,max;
  char name[1010][30];
  n=1;
  while(scanf("%s",xx[n].st)!=EOF)
  { strcpy(name[n],xx[n].st);n++;
  }
  n--;
  qsort(xx+1,n,sizeof(xx[0]),fun);
 // for(i=1;i<=n;i++)printf("%s\n",xx[i].st);
  for(i=1;i<=n;i++)
  { for(j=1;j<=n;j++)
    { if(strcmp(name[i],xx[j].st)==0)
      { i0=j;break;
      }
    }
    if(i0==1)
    { sum=cmp(name[i],i0+1);
      L1=strlen(name[i]);
      printf("%s ",name[i]);
      if(sum==L1){printf("%s\n",name[i]);continue;}
      else
      { for(j=0;j<=sum;j++)printf("%c",name[i][j]);
        printf("\n");continue;
      }
    }
    if(i0==n)
    { sum=cmp(name[i],i0-1);
      L1=strlen(name[i]);
      printf("%s ",name[i]);
      if(sum==L1){printf("%s\n",name[i]);continue;}
      else
      { for(j=0;j<=sum;j++)printf("%c",name[i][j]);
        printf("\n");continue;
      }
    }
    else
    { sum=cmp(name[i],i0-1);
      max=sum;
      sum=cmp(name[i],i0+1);
      if(max<sum)max=sum;
      L1=strlen(name[i]);
      sum=max;printf("%s ",name[i]);
      if(sum==L1){printf("%s\n",name[i]);continue;}
      else
      { for(j=0;j<=sum;j++)printf("%c",name[i][j]);
        printf("\n");
        continue;
      }
    }
  }
 // while(1);
}
/*
carbohydrate
cart
carburetor
caramel
caribou
carbonic
cartilage
carbon
carriage
carton
car
carbonate


carbohydrate
cart
cart
caramel
caribou
carbonic
cartilage
carbon
carriage
carton
car
carbonate


Sample Output


carbohydrate carboh
cart cart
carburetor carbu
caramel cara
caribou cari
carbonic carboni
cartilage carti
carbon carbon
carriage carr
carton carto
car car
carbonate carbona



Source
Rocky Mountain 2004

*/

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator