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:谁帮帮我,wa得不行了,论坛给得测试数据都过,连变态数据都顺秒,woj上也能ac,在这就waIn Reply To:谁帮帮我,wa得不行了,论坛给得测试数据都过,连变态数据都顺秒,woj上也能ac,在这就wa Posted by:346248129 at 2008-05-22 15:49:48 > #include<iostream> > #include<cstdlib> > using namespace std; > int s[100]; > bool bo[100]; > int all,ave; > bool b,bb; > int cmp(const void*a,const void*b) > { > return -(*(int *)a-*(int *)b); > } > void search(int now,int n,int nowl,int num,int j) > { > //cout<<nowl<<endl; > if(now==n-1)bb=true; > if(bb)return; > if(nowl==ave) > { > int ii; > for(ii=0;ii<num;ii++){ > if(bo[ii]==false)break; > } > bo[ii]=true; > search(now+1,n,s[ii],num,ii+1); > } > else{ > int temp=-1; > for(int i=j;i<num;i++) > { > if(bo[i]==false) > { > if(nowl+s[i]>ave){continue;} > else if(i>=1&&s[i]==temp)continue; > else if(nowl+s[i]==ave) > { > bo[i]=true; > search(now,n,ave,num,i+1); > return; > } > else > { > bo[i]=true; > search(now,n,nowl+s[i],num,i+1); > if(bb)return; > if(!b)return; > bo[i]=false; > } > temp=s[i]; > } > if(bb)return; > if(!b)return; > } > } > } > int main() > { > int n; > //freopen("in.txt","r",stdin); > //freopen("out.txt","w",stdout); > while(cin>>n) > { > if(n==0)break; > all=0; > for(int i=0;i<n;i++) > { > cin>>s[i]; > bo[i]=false; > all+=s[i]; > } > qsort(s,n,sizeof(int),cmp); > bb=false; > int i; > for(i=s[0];i<all;i++) > { > if(all%i==0) > { > for(int j=0;j<n;j++) > bo[j]=false; > ave=i; > b=true; > bo[0]=true; > search(0,all/i,s[0],n,1); > if(bb)break; > //cout<<endl; > } > } > int answer; > if(bb)answer=i; > else answer=all; > cout<<i<<endl; > } > return 0; > } > 大牛们帮忙看看 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator