当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

6779:Drink

题目描述
一共有 $n$ 个人,我们提供给他们三种饮料——可乐,雪碧,芬达。

每个人对这三种饮料的喜欢程度有一个顺序,一个人喝到他最喜欢的饮料可以得到 3 点快乐值,第二喜欢的饮料可以得到 2 点快乐值,第三喜欢的饮料可以得到 1 点快乐值。

我们一共有 $n$ 瓶饮料,其中 $a$ 瓶是可乐,$b$ 瓶是雪碧,$c$ 瓶是芬达,每个人恰好分到一瓶饮料。请问适当分配这些饮料, $n$ 个人的快乐值的和最大是多少?
输入解释
第一行输入一个整数 $T(2 \leq T \leq 1000)$ 表示 $T$ 组数据。

每组数据第一行 4 个整数,$n, a, b, c(n, a, b, c \geq 0)$ 分别表示人数,有 $a$ 瓶可乐,$b$ 瓶雪碧,$c$ 瓶芬达。保证 $a+b+c=n$。
接下来 $n$ 行,每行输入一个长度为 3 的字符串,第 $i$ 行表示第 $i$ 个人从高到低喜好的顺序。

字符串一定是 `{"012","021","102","120","201","210"}` 中的一种。字符 0 表示可乐,1 表达雪碧,2 表示芬达,按照最喜欢,第二喜欢,第三喜欢的顺序排列。例如 021 表示最喜欢可乐,第二喜欢芬达,第三喜欢雪碧。

保证 $n$ 之和小于等于 100000。
输出解释
对于每组数据,一行一个整数表示答案。
输入样例
2
3 1 1 1
012
102
201
3 1 1 1
012
012
012
输出样例
9
6
来自杭电HDUOJ的附加信息
Recommend heyang

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-6779

最后修改于 2020-10-25T23:34:18+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
2000/1000MS(Java/Others) 65536/65536K(Java/Others)