307 - Sticks
来源:互联网 发布:雅士尼处理器软件 编辑:程序博客网 时间:2024/05/03 15:41
# include<stdio.h># include<string.h># include<algorithm>using namespace std;int n,stick[70],vis[70];int dfs(int cur,int remain,int orgin,int len);bool cmp(int a,int b){return a>b;}int main(){ while(scanf("%d",&n)!=EOF) { if(!n) break; int sum=0; for(int i=0;i<n;i++) { scanf("%d",&stick[i]); sum+=stick[i]; } sort(stick,stick+n,cmp); for(int i=stick[n-1];i<=sum;i++) { if(sum%i) continue; memset(vis,0,sizeof(vis)); vis[0]=1; if(dfs(0,i-stick[0],0,i)) { printf("%d\n",i); break; } } } return 0;}int dfs(int cur,int remain,int orgin,int len){ if(remain==0) { int i; for(i=orgin+1;i<n;i++) { if(vis[i]) continue; vis[i]=1; if(dfs(i,len-stick[i],i,len)) return 1; vis[i]=0; return 0; } if(i==n) return 1; } int save=-1; for(int i=cur+1;i<n;i++) { if(stick[i]==save||vis[i]) continue; vis[i]=1; if(remain-stick[i]>=0&&dfs(i,remain-stick[i],orgin,len)) return 1; vis[i]=0; save=stick[i]; } return 0;}
0 0
- 307 - Sticks
- 307 - Sticks
- uva 307 Sticks
- uva 307 Sticks
- UVa:307 Sticks
- UVA 307 - Sticks
- UVA 307 Sticks
- uva 307 Sticks
- UVA 307 Sticks
- uva 307 Sticks
- uva 307 Sticks
- UVA 307 Sticks
- UVA 307(p218)----Sticks
- UVa 307 - Sticks
- uva-307 sticks
- Sticks
- sticks
- sticks
- (libgdx学习)compass(指南针)
- 苹果帮助文档
- OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
- 支持向量机的发展
- 图的邻接表表示
- 307 - Sticks
- ZOJ 2112 Dynamic Rankings(Treap套在线段树上...)
- pat 1044
- ZOJ 2974 Just Pour the Water(矩阵快速幂)
- 第二周作业
- MFC用ofstream输出CString型到文件
- window.location.assign(url)和replace(url)区别
- WinHTK开发与使用
- HTTP协议详解