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

lujie

Posted by 1120101750 at 2011-07-07 17:26:17 on Problem 1000
#include"stdio.h"
#include"string.h"
static int p1[200],p2[200],result[200];
char size1[200],size2[200];

int substract(int *p1,int *p2,int len1,int len2)
{
     int i;
	 if(len1<len2)
		 return -1;
	 if(len1==len2)
	 {
		 for(i=len1-1;i>=0;i--)
			 if(p1[i]<p2[i])
				 return -1;
			
	 }
	 for(i=0;i<len1;i++)
	 {
		 p1[i]-=p2[i];
		 if(p1[i]<0)
		 {
			 p1[i]+=10;
			 p1[i+1]--;
		 }
	 }
	 for(i=len1-1;i>=0;i--)
		 if(p1[i]>0)
			 return i+1;
		 else if(p1[i]<0)
			 return -1;
		 else
			 continue;

			 
}


main()
{
    int k=0,i,j,n,a,ntimes,ntmp,t,len1,len2;
	scanf("%d",&n);
	for(t=0;t<n;t++)
	{
		scanf("%s",size1);
		scanf("%s",size2);
	    a=len1=strlen(size1);
		len2=strlen(size2);
		for(j=len1-1;j>=0;j--)
			p1[k++]=size1[j]-'0';
		for(j=len2-1,k=0;j>=0;j--)
		    p2[k++]=size2[j]-'0';
		if(len1<len2)
		{
			printf("0\n");
			continue;
		}
        ntimes=len1-len2;
		if(ntimes>=0)
		{
			for(j=len1-1;j>=0;j--)
				if(j>=ntimes)
					p2[j]=p2[j-ntimes];
					else
					p2[j]=0;
		}
		len2=len1;
		for(i=0;i<=ntimes;i++)
		{
			while(ntmp=substract(p1,p2+i,len1,len2)>=0)
			{
				len1=ntmp;
				result[ntimes-i]++;
			}
			len2--;
		}
		for(i=a,k=0;i>=0;i--)
		{
			if(k)
				printf("%d",result[i]);
			else if(result[i]!=0)
			{
				t=1;
				printf("%d",result[i]);
			}
		}

	}
}

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