金币系统

Time Limit: 1000ms
Memory Limit: 65535KB
 
64-bit integer IO format: %lld      Java class name: Main

YC大牛自从杭州归来,喜欢没事儿摆个地摊儿什么的的赚点零钱买装备。经过一个星期的苦苦支撑,终于裸奔了一把鹰角弓出来。-_-
他在摆摊的过程中吃了不少苦头,比如,没有零钱什么的。这样的话,有人来买东西的话他就会因为找不开钱而让价。因此他希望能得知某种面值可以用多少种方式得到,比如15块的面值,可以由2个7元面值的和1个1元面值的组成。这样他定价为1块的物品一般比较容易找零钱。
为了明确题目的意图,再举一例,现有的货币系统1、2、5、10等面值。这样18元的价格可以有18x(1元), 9x(2元), 8x(2元)+2x(1元), 3x(5元)+1x(2元)+1x(1元), 等表示方法。
你的任务就是,给定面值的硬币Vi,硬币个数无限多,求出N的价格可以有多少种表示方法。

Input

第一行为一个数字Z,表示一下有Z组测试数据。
每一组测试数据由两行组成,
第一行为两个数V,N。有V  (1 <= V <= 25)种硬币,和需要表示的价格N (1 <= N <= 10,000)。
第二行V个数,空格分隔。每一个数Vi表示一种已有的硬币面值。

 

Output

每组测试数据有一行输出,包括一个数。表示N的价值在由Vi组成的金币系统中有p种表示法。

 

Sample Input

1
3 10
1 2 5
 

Sample Output

10
 

Hint

数据量可能会比较大,保证long long不会溢出。

 

Source

Author

XsugarX
 
 
解题:dp。。。
 
 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <climits>
#include <algorithm>
#include <cmath>
#define LL long long
using namespace std;
LL dp[],d[];
int main(){
int i,kase,n,v,j;
scanf("%d",&kase);
while(kase--){
scanf("%d %d",&n,&v);
for(i = ; i < n; i++)
scanf("%lld",d+i);
memset(dp,,sizeof(dp));
dp[] = ;
for(i = ; i < n; i++){
for(j = ; j+d[i] <= v; j++){
dp[j+d[i]] += dp[j];
}
}
printf("%lld\n",dp[v]);
}
return ;
}

BNU OJ 1027 金币系统的更多相关文章

  1. Light OJ 1027 - A Dangerous Maze (数学-期望)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1027 题目大意: 一个迷宫, 有n个门,选择一个门花费为|ai|, 如果选择的 ...

  2. (期望)A Dangerous Maze(Light OJ 1027)

    http://www.lightoj.com/volume_showproblem.php?problem=1027 You are in a maze; seeing n doors in fron ...

  3. BNU OJ 33691 / LA 4817 Calculator JAVA大数

    留着当个模板用,在BNU上AC,在LA上RE……可能是java的提交方式不同??? 数和运算符各开一个栈. 表达式从左到右扫一遍,将数存成大数,遇到数压在 数的栈,运算符压在 运算符的栈,每当遇到右括 ...

  4. 九度OJ 1027:欧拉回路 (欧拉回路)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2989 解决:1501 题目描述:     欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是 ...

  5. Light OJ 1027 - A Dangerous Maze(概率)

    题目大意: 你在一个迷宫里,你面前有n个门,你选择门的概率是一样的,每扇门有一个数字k, 加入这个数字是负数,那么这个门会花费你abs(k)分钟后把你带回原点, 假如这个数字是正数,他可以把你带出迷宫 ...

  6. light oj 1027 A Dangerous Maze

    一道数学期望题,唉唉,概率论学的不好啊~~ 求走出迷宫的期望时间. 由于有的门会回到起点,所以有可能会走很多遍,设能走出去的门的个数为n1,总的个数为n,那么一次走出去的概率为n1/n,走一次的用的平 ...

  7. 概率好题 Light OJ 1027

    题目大意:你在迷宫里,有n扇门,每个门有一个val,这个val可正可负,每次通过一扇门需要abs(x)分钟,如果这个门的val是正的,那么就直接出了迷宫,否则回到原地,问出去迷宫的期望是多少? 思路: ...

  8. BNU OJ 51005 BQG's Quadrilateral Bricks

    #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include ...

  9. BNU OJ 51000 BQG's Random String

    #include<cstdio> #include<cstring> #include<algorithm> using namespace std; +; cha ...

随机推荐

  1. BS3 多级菜单

    <div class="container"> <div class="row"> <h2>Multi level drop ...

  2. Java类的静态块の二

    在上一篇Java类的静态块の一中介绍到:类的静态块在类加载时候执行,执行早于构造函数,并且只执行一次. 但是在下面的例子中却发现JVM并不是把把所有的static模块都执行完成再执行其他(Java果然 ...

  3. 十四个关于ASP.NET基础知识问答(C#版)

    这是一些ASP.NET很基础的东西,希望对ASP.NET爱好者特别是刚刚入门的朋友有所帮助虽然示例代码是C#.NET,但是不影响VB.NET朋友的参考.好,继续往下看吧! 1.ASP.NET能在那些系 ...

  4. Android 检查内存溢出

    工具网址:https://github.com/square/leakcanary 中文版说明地址:http://www.liaohuqiu.net/cn/posts/leak-canary-read ...

  5. Spark-水库抽样-根据抽样率确定每个分区的样本大小

    /* * 输入:采样率,待采样的RDD * 输出:每个分区的样本大小(记录数) * 由采样率确定,每个分区的样本大小 */ def findNumPerPartition[T: ClassTag, U ...

  6. cacti图形字符乱码

    环境:最小化centos+cacti 问题:图形监控界面字符全部乱码,如下图 解决方法:从windows下面拷贝一个ttf文件到/usr/share/fonts下面,刷新页面,字符就正常显示了.

  7. codevs 2618 核电站问题

    时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题目描述 Description 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会 ...

  8. (转)SpringMVC学习(三)——SpringMVC的配置文件

    http://blog.csdn.net/yerenyuan_pku/article/details/72231527 读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后 ...

  9. build.sbt的定义格式

    一个简单的build.sbt文件内容如下: name := "hello" // 项目名称 organization := "xxx.xxx.xxx" // 组 ...

  10. github更换仓库

    1.找到.git目录   2.打开config文件 3.修改仓库地址 4.重新提交 git push --all origin 这样就替我们的项目换仓啦!!!^_^   分类: git 参考资料: h ...