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 ljl08 at 2007-07-31 21:09:16 on Problem 2845
#include <string.h>
#include <stdio.h>
char addnum1[85];
char addnum2[85];
char result[85];
char c='0';
void main(){
	int n,a,b,tag;
	scanf("%d",&n);
	int i=0;
	while(i<n){
		scanf("%s",addnum1);
		scanf("%s",addnum2);
		a=strlen(addnum1);
		b=strlen(addnum2);
		tag=a>b?a:b;
		int t=tag;
		if(a>b){
			while(b>0){
				addnum2[a-1]=addnum2[b-1];
				b--;
				a--;
			}
		}
		if(a<b){
			while(a>0){
				addnum1[b-1]=addnum2[a-1];
				a--;
				b--;
			}
		}
		while(tag>0){
			if(addnum1[tag-1]=='0'&&addnum2[tag-1]=='0'){
				result[tag-1]=c;
				c='0';
				tag--;
				continue;
			}
			if((addnum1[tag-1]=='1'&&addnum2[tag-1]=='0')||(addnum1[tag-1]=='0'&&addnum2[tag-1]=='1')){
				if(c=='1'){
					result[tag-1]='0';
				}
				else{
					result[tag-1]='1';
				}
				tag--;
				continue;
			}
			if(addnum1[tag-1]=='1'&&addnum2[tag-1]=='1'){
				result[tag-1]=c;
				c='1';
				tag--;
				continue;
			}
		}
		if(c!='0'){
			printf("%d %c",i+1,c);
			printf("%s",result);
			c='0';
			printf("\n");
		}
		else {
			printf("%d ",i+1);
			a=0;
			while(a<t-1&&result[a]=='0')a++;
			printf("%s",&(result[a]));
			printf("\n");
		}
		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