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

Hawk,帮忙看看是哪出问题了?

Posted by wanpi0user at 2005-11-28 13:16:27 on Problem 2718
我已经用测试数据检测过,完全正确。但是。。。WA!!
请看一下,是哪个CASE过不去!?
谢谢。
//899966 wanpi0user 2718 Wrong Answer     C++ 
#include <iostream.h>
int i=0;
int main()
{
	int ci,cj,i1,i2,difmin,ck,sub1,sub2,length;
	int group;
	cin>>group;
	cin.get();
	while(group--)
	{
		int answer=0;
		int num[11];
		length=0;
		char* word=new char [30];				
		cin.getline(word,21);
		for(int j=0;j<21;j++)
		{
			int a=(int)word[j];
			if(word[j]!=' '&&a>47)
			{
				num[length]=(int)word[j]-48;
			    length++;
			}
		}
		/////////////////
		//for(int it=0;it<length;it++) cout<<num[it]<<endl;
		if(length==1) {cout<<num[0]<<endl;continue;}
		if(length==2) {cout<<num[1]-num[0]<<endl;continue;}
		cj=length>>1;difmin=10000;
		if(length%2){
			for(ck=num[0]?0:1;ck<length-1;ck++){
				sub1=num[ck];sub2=0;
				for(ci=0,i1=0,i2=length-1;ci<cj;ci++){
					if(i1==ck) i1++;
					if(i2==ck) i2--;
					sub1*=10;sub1+=num[i1++];
					sub2*=10;sub2+=num[i2--];
				}
				if(sub1-sub2<difmin) difmin=sub1-sub2;
			}
		}
		else{
			for(ck=num[0]?1:2;ck<length;ck++){
				sub1=num[ck];sub2=num[ck-1];
				for(ci=1,i1=0,i2=length-1;ci<cj;ci++){
					while((i1==ck-1)||(i1==ck)) i1++;
					while((i2==ck)||(i2==ck-1)) i2--;
					sub1*=10;sub1+=num[i1++];
					sub2*=10;sub2+=num[i2--];
				}
				if(sub1-sub2<difmin) difmin=sub1-sub2;
			}
		}
		cout<<difmin<<endl;
		delete[] word;
	}
	
	return 0;
}


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