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, 删掉 ac or tle or waIn Reply To:这个剪枝条件错了吗,为什么去掉就AC了 Posted by:ssq at 2006-03-15 18:44:05 > > //#include<iostream> > #include<stdio.h> > #include<algorithm> > #include<functional> > using namespace std; > const int part = 4; > bool used[30] = {false}; > int len[30]; > int length; > int find1 = 0; > int n; > void dfs(int level,int curlen,int pth); > void fit(int pth) > { > if(pth > 4) > { > find1 = 1; > // cout<<"yes\n"; > return ; > } > if(find1) return ; > int i; > for( i = 0 ; i <n ; i++) > { > if(!used[i]) > break; > } > used[i] = true; > dfs(i,len[i],pth); > used[i] = false; > } > void dfs(int level,int curlen,int pth) > { > > if(curlen == length ) > { > fit(pth+1); > return ; > } > if(level+1> n ) > return ; > int i; > > for( i = level+1; i<n; i++) > { > if(find1) return ; > if(!used[i]) > { > if(curlen+len[i]<=length) > { > used[i] = true; > dfs(i,curlen+len[i],pth); > used[i] = false; > } > } > } > } > int main() > { > int testcase; > int i,j; > int total; > // cin>>testcase; > scanf("%d",&testcase); > for(i =1 ;i<=testcase; i++) > { > total = 0 ; > find1 = 0; > // cin>>n; > scanf("%d",&n); > for(j = 0 ; j<n; j++) > { > // cin>>len[j]; > scanf("%d",&len[j]); > total +=len[j]; > } > if(total % 4 != 0) > goto output; > length = total/4; > memset(used,false,sizeof(used)); > sort(len,len+n,greater<int>()); > //if don't add sort it cost 64 ms ,add it 0ms > /*for(j = 0 ; j<n; j++) > {//这个for循环出错了吗? > // printf("%d ",len[j]); > if(len[j]>length) > goto output; > else if(len[j] == length) > { > if(n != 4) > goto output; > } > }*/ > //when adding the cutoff method it go wa > > fit(1); > output: > if(find1 == 1) > // cout<<"yes\n"; > printf("yes\n"); > else //cout<<"no\n"; > printf("no\n"); > } > return 1; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator