AT_abc215_h.[ABC215H] Cabbage Master
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
卷心菜农户高桥君种植了 N 个品种(从 1 到 N)的卷心菜。高桥君拥有品种 i 的卷心菜 Ai 个(1≤i≤N)。这里,所有的卷心菜都是可以区分的。
作为卷心菜的批发对象,有 M 个公司(从 1 到 M),公司 j(1≤j≤M)下单了 Bj 个卷心菜。
每个公司可以收购的卷心菜品种各不相同。对于所有的 i,j 组合(1≤i≤N,1≤j≤M):
- 当 ci,j=1 时,品种 i 的卷心菜可以出货给公司 j。
- 当 ci,j=0 时,品种 i 的卷心菜不能出货给公司 j。
如果高桥君能够合理分配所有卷心菜的出货对象,使得对每个公司 j(1≤j≤M)都能出货不少于 Bj 个卷心菜,则他可以获得“卷心菜大师”的称号。
すぬけ君为了让高桥君无论如何都无法获得“卷心菜大师”的称号,可以选择吃掉 0 个或更多的卷心菜。すぬけ君不喜欢卷心菜,他会选择吃掉的卷心菜数量最少的方案。
请输出すぬけ君需要吃掉的卷心菜的最少数量,以及吃掉卷心菜的方案数对 998244353 取模的结果。
注意,吃掉卷心菜的方案不同,指的是存在某个卷心菜在一种方案中被吃掉,而在另一种方案中没有被吃掉。这里要注意,即使是同一品种的不同卷心菜也是可以区分的。
输入格式
输入通过标准输入给出,格式如下:
N M A1 A2 … AN B1 B2 … BM c1,1 c1,2 … c1,M c2,1 c2,2 … c2,M ⋮ cN,1 cN,2 … cN,M
输出格式
请输出すぬけ君需要吃掉的卷心菜的最少数量 X,以及吃掉卷心菜的方案数对 998244353 取模的结果 Y,用空格隔开。
X Y
输入输出样例
输入#1
3 2 2 2 5 3 4 1 0 1 1 0 1
输出#1
2 6
输入#2
1 1 3 4 1
输出#2
0 1
输入#3
1 3 100 30 30 30 1 1 1
输出#3
11 892328666
说明/提示
限制条件
- 1≤N≤20
- 1≤M≤104
- 1≤Ai≤105
- 1≤Bj≤105
- ci,j∈{0,1}
- 对于任意 1≤j≤M,存在某个 1≤i≤N 使得 ci,j=1
- 输入均为整数
样例解释 1
为了让高桥君无法成为卷心菜大师,すぬけ君需要吃掉 2 个卷心菜。以“品种 i 的第 j 个卷心菜”记作 (i,j),すぬけ君可以吃掉的卷心菜组合有如下 6 种:
- (1,1),(1,2)
- (1,1),(2,1)
- (1,1),(2,2)
- (1,2),(2,1)
- (1,2),(2,2)
- (2,1),(2,2)
样例解释 2
有时,即使すぬけ君一颗卷心菜都不吃,高桥君也无法成为卷心菜大师。这时,すぬけ君需要吃掉的卷心菜数量为 0,吃掉卷心菜的方案数为 1(即什么都不吃)。
样例解释 3
请注意,吃掉卷心菜的方案数需要对 998244353 取模后输出。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?