1027
2015-07-27 21:48
302 查看
#include<stdio.h> #define DEBUG_IO (0) const int MAX = 85; const int INF = 65535; bool isOver = false; int N, M; int answer; int n[MAX]; int vis[MAX]; void dfs(int m, int step) { if(m < 0 || (m > 0 && isOver == true && answer <= step)) { return; } if(m == 0) { isOver = true; if(answer > step) { answer = step; } } if(vis[m] && vis[m] <= step) return; vis[m] = step; for(int i = 0; i < N; i++) { dfs(m - n[i], step + 1); } } int main() { #if DEBUG_IO freopen("input.txt", "r", stdin); setbuf(stdout, NULL); #endif int test_case = 0; scanf("%d", &test_case); while(test_case) { test_case--; int i; scanf("%d %d", &N, &M); for(i = 0; i < N; i++) { scanf("%d", &n[i]); } for(i = 0; i < MAX; i++) { vis[i] = 0; } answer = INF; isOver = false; for(i = 0; i < N; i++) { dfs(M - n[i], 1); } if(isOver) { printf("%d\n", answer); } else { printf("0\n"); } } return 0; }
相关文章推荐
- 二叉树的输出
- hdu4737A Bit Fun 线段树
- Redis使用介绍
- 正确lua简单的扩展,可以加速相关C++数据。
- JS函数式编程【译】2.1 函数式编程语言
- 【数论,找规律】Uva 11526 - H(n)
- [数据结构] 字典树
- regmap模块
- hdu 5296 - Annoying problem(2015 Multi-University Training Contest 1 )LCA
- 学数据机构干什么?
- hdu2524 (求矩形个数,水题。。。)
- django 1.8 官方文档翻译: 3-6-1 中间件概览
- PAT (Advanced Level) 1059. Prime Factors (25) 求所有质因子
- 进程和线程的差别
- hdu 4411 Arrest (最小费用最大流)
- 数据结构---单链表(2)
- linux c++循环缓冲区模板类
- zoj3202 Second-price Auction
- IOS中NSUserDefaults的用法(轻量级本地数据存储) (转)
- 搭建基于LAMP的web应用程序平台