AT_fps_24_g.硬貨
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你有无限个面额分别为 1,2,…,M 日元的硬币。
同一面额的硬币不可区分。
现在给定整数 N 和 L。对于每一个 m=1,2,…,M−L+1,请解决以下问题:
- 你可以自由使用面额为 m,m+1,…,m+L−1 的硬币。
(严格来说,你可以使用所有满足 m≤x≤m+L−1 的面额为 x 的硬币。)
请你求出用这些硬币凑出恰好 N 日元的方法数,并对 998244353 取模。
如果存在至少一个面额所用硬币数不同,则两种支付方法被认为是不同的。
输入格式
输入从标准输入按以下格式给出:
N M L
输出格式
输出共 M−L+1 行,第 i 行输出 m=i 时的答案。
输入输出样例
输入#1
5 3 2
输出#1
3 1
输入#2
5000 2500 2495
输出#2
878712345 520404421 886134625 125526485 307727973 257205353
说明/提示
样例解释 1
对于 m=1,可用面额为 1 和 2 的硬币,总共有 3 种支付 5 日元的方法:
- 用 5 枚 1 日元硬币。
- 用 3 枚 1 日元和 1 枚 2 日元。
- 用 1 枚 1 日元和 2 枚 2 日元。
对于 m=2,可用面额为 2 和 3 的硬币,总共有 1 种方式:
- 用 1 枚 2 日元和 1 枚 3 日元。
数据范围
- 1≤L≤M≤N≤5000
- N,M,L 均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?