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 |
怎么总WA呢,请高手指教#include<iostream> #include<algorithm> using namespace std; int A[100]; int C[11]; int N=0; int K=0; int pow10(int k) { int s=1; while(k>0) { s=s*10; k--; } return s; } void pairs_of_integers() { int kk=N;int ii=0; while(kk/10!=0) { C[ii]=kk%10; kk=kk/10; ii++; } C[ii]=kk; if(N%2==0) { for(int k=1;k<=ii;k++) { int b=0,c=0; int high=0,low=0; for(int i=0;i<k;i++) {low+=C[i]*pow10(i);} for(int i=k+1;i<=ii;i++) {high+=C[i]*pow10(i-k-1);} for(int t0=0;t0<=1;t0++) { for(int t1=0;t1<=1;t1++) { c=(low+t0*pow10(k))/2; b=high-t1; if(b>=0) { int x=C[k]+t1*10-b-t0; if(x>=0&&x<=9) { if(k==ii&&x==0) break; int a; a=b*pow10(k+1)+x*pow10(k)+c; A[K]=a; K++; } } } } } } for(int x=0;x<=9;x++) { int t=(N-x)%11; if(t==0) { int a=x+10*(N-x)/11; A[K]=a; K++; } } } void output() { sort(A,A+K); int n=K; for(int i=0;i<K;i++) { if(A[i]==A[i+1]) { A[i]=0; n--; } } cout<<n<<endl; for(int i=0;i<K;i++) { if(A[i]!=0) { cout<<A[i]<<'+'; int b=N-A[i]; int ak=(int)A[i],bk=(int)b; int al=1,bl=1; while(ak/10!=0) { ak=ak/10; al++; } while(bk/10!=0) { bk=bk/10; bl++; } int j=al-bl; while(j>1) { cout<<'0'; j--; } cout<<b<<'='<<N<<endl; } } } int main() { while( cin>>N) { pairs_of_integers(); output(); memset(A,false,sizeof(A)); memset(C,false,sizeof(C)); K=0; N=0; } // system("pause"); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator