| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Hawk,帮忙看看是哪出问题了?我已经用测试数据检测过,完全正确。但是。。。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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator