【第七届河南省赛】A.物资调度
来源:互联网 发布:python dom解析xml 编辑:程序博客网 时间:2024/04/30 06:17
Description
某地区发生了地震,灾区已经非常困难,灾民急需一些帐篷、衣物、食品和血浆等物资。可通往灾区的道路到处都是塌方,70%以上的路面损坏,桥梁全部被毁。国家立即启动应急预案,展开史上最大强度非作战空运行动,准备向灾区空投急需物资。
一方有难,八方支援。现在已知有N个地方分别有A1,A2,….,An个物资可供调配。目前灾区需要物资数量为M。
现在,请你帮忙算一算,总共有多少种物质调度方案。
假设某地方一旦被选择调配,则其物资数全部运走。
Input
第一行: K 表示有多少组测试数据。
接下来对每组测试数据有2行,第1行: N M
第2行:A1 A2 …… An
2≤K≤8 1<N≤100 1<M≤1000 1≤ Ai≤1000
所有数据都是正整数。输入数据之间有一个空格。
假设给定的数据至少有一种调度方案。
Output
对于每组测试数据,输出一行:物资调度的总方案数
Sample Input
2
4 4
1 1 2 2
4 6
1 1 2 2
Sample Output
3
1
#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define MAX(a,b) a>b?a:bint num[110],sum;int n,m;void dfs(int s,int w)//s是搜索到的件数,w是当前数量{ int i; if(s>n||w>m) return; if(w==m&&s<=n) { sum++; return; } dfs(s+1,w+num[s]); dfs(s+1,w);}int main(){ int k,i; scanf("%d",&k); while(k--) { sum=0; scanf("%d%d",&n,&m); for(i=0; i<n; i++) scanf("%d",&num[i]); dfs(0,0); cout<<sum<<endl; } return 0;}
0 0
- 【第七届河南省赛】A.物资调度
- 第七届河南省ACM大学生程序设计大赛 A.物资调度
- 河南省第七届程序设计大赛A.物资调度
- 第七届河南省赛 zzuoj 10401: A.物资调度 (dfs)
- 河南省第七届大学生程序设计竞赛 问题 A: 物资调度【简单dfs】
- nyoj1249 物资调度 (第七届河南省程序设计大赛)
- 河南省第七届大学生程序设计竞赛 物资调度
- 河南省ACM程序设计 物资调度
- zzuoj 10401: A.物资调度
- HNACM(七)A.物资调度
- 第七届河南省ACM A题
- 物资调度
- 物资调度
- 物资调度
- 【第七届河南省赛】F.Turing equation
- 【第七届河南省赛】 H.Rectangles
- 第七届河南省赛 题解&&题型分布
- 第七届河南省赛部分题
- 浙江大学PAT_乙级_1018. 锤子剪刀布 (20)
- linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)
- 使用 LiquiBase 管理数据库变更
- 黑马程序员-----第二篇 C语言总结(二)
- 集合框架面试
- 【第七届河南省赛】A.物资调度
- 正则表达式基本语法
- angularjs分页
- 浙江省ACM竞赛(2013)---F.Friends
- struts2中constant参数设置
- 给台式机安装多个硬盘
- Java提高 - 八大排序方法之归并排序
- 对Socket.io进行负载均衡
- Tiny4412裸机程序之UART收发数据