poj1564
dfs判重
#include<stdio.h>
#include<iostream>
#include<cstdio>
#include<queue>
#include<queue>
#include<stack>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<climits>
#include<algorithm>
using namespace std;
#define ll unsinged long long
#define PI acos(-1.0)
#define ING 0x7fffffff
#define INF 0x3f3f3f3f
#define mod 1000000007
#define mod 5201314
#define N 1005
int n,m;
int a[N];
int d[N];
int flag;
void dfs(int x,int sum,int num)
{
if(sum>n)
return;
if(sum==n)
{
flag=1;
printf("%d",d[0]);
for(int i=1;i<num;i++)
{
printf("+%d",d[i]);
}
printf("\n");
return;
}
for(int i=x;i<m;i++)
{
d[num]=a[i];
dfs(i+1,sum+a[i],num+1);
while(a[i+1]==a[i])//判重
i+=1;
}
}
int main()
{
while(~scanf("%d%d",&n,&m)&&n&&m)
{
for(int i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
printf("Sums of %d:\n",n);
flag=0;
dfs(0,0,0);
if(flag==0)
printf("NONE\n");
}
return 0;
}
poj1564的更多相关文章
- poj1564 Sum It Up dfs水题
题目描述: Description Given a specified total t and a list of n integers, find all distinct sums using n ...
- poj1564 Sum it up
题目链接: http://poj.org/problem?id=1564 题目: Sum It Up Time Limit: 1000MS Memory Limit: 10000K Total S ...
- POJ-1564 dfs
#include"cstring" #include"cstdio" +; int nux[maxn]; int nua[maxn];//解的集合 int t; ...
- poj1564 Sum It Up (zoj 1711 hdu 1258) DFS
POJhttp://poj.org/problem?id=1564 ZOJhttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=711 ...
- DFS系列 POJ(自认为的讲解)
C - Sum It Up POJ1564 题意: 给你一个N,然后给你一堆数The numbers in each list appear in nonincreasing order, and t ...
随机推荐
- TCP socket心跳包示例程序
在做游戏开发时,经常需要在应用层实现自己的心跳机制,即定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性. 在TCP socket心跳机制中,心跳包可以由服务器发送给客户端 ...
- 李洪强iOS开发之 - block的使用
李洪强iOS开发之 - block的使用 01 - 定义block //支付block typedef void(^invokePayBlock)(CFBaseOrderModel *model ...
- DSL 如何工作
DSL 如何工作 http://computer.howstuffworks.com/dsl.htm 当你连接到因特网时,你可能是通过一个调制解调器 (modem),或办公室的局域网,或者一个电缆调制 ...
- git常用知识笔记
学习资料: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 http://codi ...
- ssh原理【转】
1 转自 http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 2 ssh远程登陆的原理 普通用户远程登陆 ssh jason@ho ...
- quilt
1 什么是quilt quilt是一个patch管理工具,特别适合于对多个patch进行管理. quilt是基于gnu patch和diff的. 2 使用quilt创建一个patch 第一步,quil ...
- java 获取时间戳
//java 获取时间戳 long currentTime=System.currentTimeMillis();
- Mybatis中的大于等于和小于等于
mybatis中可以直接使用>或<:但是不能直接使用>=或<=; 第一种写法(1): 原符号 < <= > >= & ' " 替换符号 ...
- Codeforces Round #Pi (Div. 2) C. Geometric Progression
C. Geometric Progression time limit per test 1 second memory limit per test 256 megabytes input stan ...
- maven常用命令总结
搞了多年java 似乎还有些命令 混混沌沌 今儿来总结下 mvn -v 查看版本 mvn -compile 编译当前工程 生成target目录的字节码文件以及报告 mvn -package 将当前工程 ...