#include #include #include #include using namespace std; void mult(char a[],char b[],char s[]) { int i,j,k=0,alen,blen,sum=0,res[165][165]={0},flag=0; char result[165]; alen=strlen(a);blen=strlen(b); for (i=0;i=0;i--) { for (j=blen-1;j>=0;j--) sum=sum+res[i+blen-j-1][j]; result[k]=sum%10; k=k+1; sum=sum/10; } for (i=blen-2;i>=0;i--) { for (j=0;j<=i;j++) sum=sum+res[i-j][j]; result[k]=sum%10; k=k+1; sum=sum/10; } if (sum!=0) {result[k]=sum;k=k+1;} for (i=0;i=0;i--) s[i]=result[k-1-i]; s[k]='\0'; while(1) { if (strlen(s)!=strlen(a)&&s[0]=='0') strcpy(s,s+1); else break; } } void add(char a[],char b[],char back[]) { int i,j,k,up,x,y,z,l; char *c; if (strlen(a)>strlen(b)) l=strlen(a)+2; else l=strlen(b)+2; c=(char *) malloc(l*sizeof(char)); i=strlen(a)-1; j=strlen(b)-1; k=0;up=0; while(i>=0||j>=0) { if(i<0) x='0'; else x=a[i]; if(j<0) y='0'; else y=b[j]; z=x-'0'+y-'0'; if(up) z+=1; if(z>9) {up=1;z%=10;} else up=0; c[k++]=z+'0'; i--;j--; } if(up) c[k++]='1'; i=0; c[k]='\0'; for(k-=1;k>=0;k--) back[i++]=c[k]; back[i]='\0'; } int flage[100],M,open=0; char num1[100][25],sum[100],temp[100]; int main() { int T; int i; M=0; while(scanf("%d",&T)!=EOF) { memset(num1,0,sizeof(num1)); memset(sum,0,sizeof(sum)); memset(flage,0,sizeof(flage)); memset(temp,0,sizeof(temp)); for(int i=0;i>num1[i]; } int dingshitao = 0; open=0; for( i=0;i