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 |
Re:CODEIn Reply To:能给出伪代码吗 Posted by:egmna at 2005-08-16 12:37:53 #include <iostream.h> #include <stdlib.h> #define AS(x) ((x)<0?-(x):(x)) void in(int n,int a[],int& s) { for(int i=s=0;i<n;++i) cin>>a[i],s+=a[i]; } void main() { int a[64],b[64],sa,sb,n,i,j,an,bn,t,d1,d2; cin>>n; an = n/2; bn = n-an; in(an,a,sa); in(bn,b,sb); for(t=0;t<1000;++t) { i = rand()%an; j = rand()%bn; d1 = AS(sa-sb); d2 = AS(sa-sb-((a[i]-b[j])<<1)); if(d1 >= d2) { sa -= a[i] - b[j]; sb -= b[j] - a[i]; d1 = a[i]; a[i] = b[j]; b[j] = a[i]; } } if(sa<sb) cout<<sa<<" "<<sb; else cout<<sb<<" "<<sa; cout<<endl; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator