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:1011改装版—0MSIn Reply To:1011改装版—0MS Posted by:zjy9107 at 2010-05-12 18:22:57 > #include<iostream> > #include<algorithm> > using namespace std; > > const int size=21; > int sq[size]; > bool visit[size]; > int start; > int n; > > bool cmp(int a,int b){ > return a>b; > } > > bool dfs(int m,int left,int len){ > if(m==0&&left==0) > return true; > int i; > if(left==0){ > i=0; > left=len; > } > else i=start+1; > for(;i<n;i++){ > if(visit[i]||left<sq[i]) > continue; > start=i; > visit[i]=true; > if(dfs(m-1,left-sq[i],len)) > return true; > else > visit[i]=false; > if(left==sq[i]||left==len) > break; > } > return false; > } > > int main() > { > int t; > cin>>t; > while(t--){ > cin>>n; > int sum=0; > for(int i=0;i<n;i++){ > cin>>sq[i]; > sum+=sq[i]; > } > if(sum%4){ > cout<<"no"<<endl; > continue; > } > sort(sq,sq+n,cmp); > if(dfs(n,0,sum/4)) > cout<<"yes"<<endl; > else > cout<<"no"<<endl; > fill(visit,visit+n,0); > } > system("pause"); > } > Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator