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 |
感觉不像是死循环的问题,求助In Reply To:郁闷了,c++提交OLE, G++提交 WA,到底是哪里大问题,各位帮我看看到底是哪里的问题 Posted by:sunmoonstar_love at 2005-07-06 18:11:17 > #include <stdio.h> > #include <algorithm>// _int64 long long > _int64 n,i,j,k,ns,sum[37],tmp,len,a[10]; > bool b[37],Im; > int main() > { > b[0] = b[1] = true; > while(scanf("%I64d",&n)!= EOF) > { > ns = n*(n-1)/2; > for(i=0; i<ns; i++) > { > scanf("%I64d",&sum[i]); > b[i] = false; > } > std::sort(sum,sum+ns); > Im = true; > for(i=2; i<ns; i++) > { > a[2] = (sum[1] - sum[0] + sum[i])/2; > a[1] = sum[i] - a[2]; > a[0] = sum[0] - a[1]; > if(a[2]*2 != sum[1] - sum[0] + sum[i]) > continue; > len = 3; > b[i] = true; > for(j=2; j<ns; j++) > { > if(!b[j]) > { > a[len++] = sum[j] - a[0]; > b[j] = true; > tmp = 1; > for(k=j+1; k<ns&&tmp<len-1; k++) > { > if(!b[k]&&(a[tmp]+a[len-1] == sum[k])) > { > b[k]=true; > tmp++; > } > } > } > } > if(len==n) > { > Im = false; > break; > } > for(k=2; k<ns; k++) > b[k] = false; > } > if(Im) > printf("Impossible\n"); > else > { > for(k=0; k<len-1; k++) > printf("%I64d ",a[k]); > printf("%I64d\n",a[len-1]); > } > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator