HDU1258:Sum It Up(DFS)
来源:互联网 发布:linux中cat的用法 编辑:程序博客网 时间:2024/05/04 10:04
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<string>using namespace std;const int MAXN=105;int n,m,j,flag,flags,da[MAXN];int done[MAXN];int cmp(const void *a,const void *b){return *(int*)a<*(int*)b?1:-1;}void dfs(int place,int sum){if(place==m+1&&sum!=0)return;if(sum==0){flags=1;for(flag=1,sum=0,j=1;j<=m;j++)if(done[j])if(flag){printf("%d",da[j]);flag=0;}else printf("%c%d",'+',da[j]);printf("\n");return ;}int i;for(i=place;i<=m;i++)if(!done[i]&&da[i]<=sum){if(da[i]==da[i-1]&&!done[i-1])continue;done[i]=1;dfs(i+1,sum-da[i]);done[i]=0;}}int main(){int i;//freopen("123.txt","r",stdin);while(~scanf("%d%d",&n,&m),n||m){flags=0;for(i=1;i<=m;i++)scanf("%d",&da[i]);qsort(da+1,m,sizeof(int),cmp);memset(done,0,sizeof(done));printf("Sums of %d:\n",n);dfs(1,n);if(!flags)printf("NONE\n");}return 0;}
0 0
- HDU1258:Sum It Up(DFS)
- hdu1258 Sum It Up (DFS)
- Sum It Up(hdu1258,dfs)
- HDU1258:Sum It Up(DFS)
- HDU1258:Sum It Up(DFS)
- DFS hdu1258 Sum It Up
- HDU1258 Sum It Up(DFS)
- HDU1258 Sum It Up 【DFS】+【判重】
- HDU1258 POJ1564 Sum It Up DFS
- hdu1258 Sum It Up(dfs)
- HDU1258 Sum It Up(DFS)
- HDU1258 Sum It Up (DFS)
- HDU1258 Sum It Up
- HDU1258:Sum It Up
- Sum It Up hdu1258
- HDU1258 Sum it up
- HDU1258 Sum It Up
- hdu1258(Sum It Up)
- 【KD树】 学习资料(转自木子日匀大神)
- 如何将windows格式的图标作为os x应用程序的图标
- 【Matlab】isa函数解析 类型判断函数
- 多行文本溢出显示省略号(...)的方法整理
- 【Hibernate学习】 ——ORM(三)
- HDU1258:Sum It Up(DFS)
- 下定决心创新路径 持续推进集成电路产业跨越发展
- fragment延迟加载
- Xianfeng轻量级Java中间件平台:基于RBAC模型实现权限控制的原理
- java中的io系统详解
- Php 解析XML文件
- servlet之出现的背景
- POJ 2217 Secretary (后缀数组)
- 中断处理程序、中断上下文中处理延时及一些函数的调用规则