loj#P3296. 「BalticOI 2012 Day2」旋律
「BalticOI 2012 Day2」旋律
题目描述
译自 BalticOI 2012 Day2 T2. Melody
Linas 喜欢弹奏一种乐器,然而没人知道这种乐器的名字。这个乐器有 个孔,Linas 可以以十种不同的方式(从 到 编号)之一盖住每个孔,从而弹奏出不同的音符。这种乐器可以弹奏出 种音符,每个音符对应一种盖住孔的方式。如果一种盖住孔的方式不与任何音符对应,乐器会发出非常糟糕的声音,因此 Linas 从来不会尝试不与已有音符对应的盖住孔的方式。
现在 Linas 所在的乐队要演奏一首乐曲。Linas 已经将这个乐曲对应的音符写了出来。不幸地是,Linas 的表现并不理想。他能弹出两个连续的音符,当且仅当这两个音符有不超过 个孔的覆盖方式不同。现在 Linas 希望自己演奏的错误音符的数量尽可能少。
输入格式
第一行三个整数 。
接下来 行,每行一个长度 的字符串(只包括数字),第 行的第 个字符表示弹奏第 个音符时,第 个孔的覆盖方式。保证任意两个音符的弹奏方式不同。
下一行一个整数 ,代表乐曲包含的音符数。
最后一行包含 个整数,代表乐曲对应的音符编号。
输出格式
输出第一行一个整数,代表 Linas 演奏的错误音符的最小值。
下一行 个整数,代表在错误音符的数目最小的前提下,Linas 实际弹奏的音符。如果有多种满足条件的弹奏方式,任意输出一种即可。
5 4 2
1111
2101
2000
0100
0000
7
1 5 4 5 3 2 1
1
1 2 4 5 3 2 1
数据范围与提示
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,,,。