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

不是过了么

Posted by ArXoR at 2005-09-07 10:34:44 on Problem 1016
In Reply To:小弟的程序,请大家指教 Posted by:rickyjen at 2005-09-07 10:17:19
> #include "stdio.h"
> #include "stdlib.h"
> #include "string.h"
> #define TIMES 17   //求inventory的次数
> #define LEN 165    //每个inventory的最大长度.
> 
> void main()
> {
>   void _free(struct str *&p);
>   void print(char *p,int n1,int n2);
>   void getinventory(char p[][LEN],int n);
>   char str[TIMES][LEN];
>   int i,k,t;
>   while(1)
>   {  
>       scanf("%s",str[0]);
> 	  if(str[0][0]=='-')break;
>       for(i=1;i<=16;i++)
> 	  {
> 		  getinventory(str,i);//求得string[i-1]的目录数字,存于string[i]中.
> 	      for(k=i-1;k>=0&&strcmp(str[i],str[k])!=0;k--);
> 		  if(k>=0)break;
> 	  }
> 	  if(i==17)i--;
> 	  print(str[0],i,k);
> 	  
>   }
> }
> void getinventory(char p[][LEN],int n)//求得p[i-1]的inventory,存于p[i]中.
> {
> 	void chang(char *p,int &pos,int n,char c);
>     int count,i,posi=0;
> 	char c,*p1;
>     for(c='0';c<='9';c++)
> 	{
> 		for(p1=p[n-1],i=count=0;p1[i]!='\0';i++)
> 			if(c==p1[i])count++;
> 	    chang(p[n],posi,count,c);
> 	}
> }
> void chang(char *p,int &pos,int n,char c)//将整数n转化成字符'0','1'....存放pos开始的空间.
> //然后将c也存入.
> {
> 	if(n)
> 	{   int w=1;
> 	    while(n%(w*10)!=n)w*=10;
>         for(;w>0;n%=w,w/=10)p[pos++]='0'+n/w;
> 		p[pos++]=c;
> 		p[pos]='\0';
>     }
> }
> void print(char *p,int n1,int n2)
> {
> 	if(n1==1)printf("%s is self-inventorying\n",p);
> 	else if(n2==n1-1)printf("%s is self-inventorying after %d steps\n",p,n2);
> 	else if(n1==16)printf("%s can not be classified after 15 iterations\n",p);
> 	else printf("%s enters an inventory loop of length %d\n",p,n1-n2);
> }

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