bzoj#P2860. [Ceoi2012] wagons
[Ceoi2012] wagons
题目描述
现在有 个马车在铁路口等着,每个马车上有一种垃圾。我们有一些垃圾处理器,每种垃圾处理器能处理一些特定的垃圾。每天只能用一个垃圾处理器。
铁路旁边还有一个栈, 个马车按顺序过去,如果当前的垃圾处理器能处理他,就处理了;否则要么过一天换一个垃圾处理器,要么你可以把它放入栈中。
你每次既能处理铁路上的垃圾,也能处理栈中的垃圾……处理有顺序要求,铁路上的垃圾得按顺序处理,栈中的垃圾得按入栈顺序的逆序处理(所以才叫栈)。
每天一个垃圾处理器能处理无限垃圾。
你要处理三天垃圾,你需要通过调整三天里分别用哪种垃圾处理器,从而处理最多数目的垃圾,同时还要求三天后栈是空的。
输入格式
第一行 ,表示 个马车,有 种垃圾,有 种垃圾处理器。
接下来 行,每行若干个数,表示垃圾处理器能处理的垃圾集合。每行以 0
结尾。
最后一行 个数表示每辆马车上面的垃圾种类。
保证每种垃圾至少一种最多十种垃圾处理器能处理。
输出格式
第一行输出最多能处理多少垃圾。
第二行输出三个数,分别表示三天的的垃圾处理器。
如果第一问答案是 ,存在两天的方案,那么要求输出两天的;如果第一问答案是 ,存在一天的方案,要求输出一天的;
如果存在两天的方案,第三个数字应该是 0
;如果存在一天的方案,第二、三个数字应该是 0
。
13 5 4
1 0
4 5 0
5 3 0
2 5 0
4 5 2 5 5 4 1 1 5 4 5 3 3
11
2 1 4
数据规模与约定
对于 的数据,,。