题目名称 1774. [POJ 1742]硬币
输入输出 makecoins.in/out
难度等级 ★★☆
时间限制 3000 ms (3 s)
内存限制 256 MiB
测试数据 1
题目来源 Gravatarsyzhaoss 于2014-10-30加入
开放分组 全部用户
提交状态
分类标签
多重背包 背包问题
分享题解
通过:4, 提交:7, 通过率:57.14%
Gravatar增强型图元文件 100 0.302 s 5.83 MiB C++
Gravatar┭┮﹏┭┮ 100 0.387 s 6.13 MiB C++
Gravatar┭┮﹏┭┮ 100 0.401 s 6.13 MiB C++
Gravatar该账号已注销 100 0.545 s 6.21 MiB C++
Gravatar该账号已注销 0 0.000 s 0.00 MiB C++
Gravatar此账号已注销 0 0.000 s 0.00 MiB C++
Gravatar增强型图元文件 0 0.291 s 5.83 MiB C++
关于 硬币 的近10条评论(全部评论)
二进制拆分秒了,其实一般来说二进制拆分不用单独拆,在扫描的时候顺便拆了就行
Gravatar增强型图元文件
2024-04-09 11:19 1楼

1774. [POJ 1742]硬币

★★☆   输入文件:makecoins.in   输出文件:makecoins.out   简单对比
时间限制:3 s   内存限制:256 MiB

【题目描述】

给定 N 种硬币,其中第 i 种硬币的面值为 Ai,共有 Ci 个。

从中选出若干个硬币,把面值相加,若结果为 S,则称“面值 S 能被拼成”。

求 1∼M 之间能被拼成的面值有多少个。

【输入格式】

输入包含多组测试用例。

每组测试用例第一行包含两个整数 N 和 M。

第二行包含 2N 个整数,分别表示 A1,A2,…,AN 和 C1,C2,…,CN。

当输入用例 N=0,M=0 时,表示输入终止,且该用例无需处理。

【输出格式】

每组用例输出一个结果,每个结果占一行。

【样例输入】

3 10
1 2 4 2 1 1
2 5
1 4 2 1
0 0

【样例输出】

8
4

【数据范围与约定】

1≤N≤100,1≤M≤10^5,1≤Ai≤10^5,1≤Ci≤1000。