#ABC333E. Takahashi Quest
Takahashi Quest
题目描述
高桥将开启一场冒险。
冒险过程中会发生 个事件。第 个事件()由一对整数 ()表示,规则如下:
- 若 =1,他找到一瓶类型为 的药水。他可以选择拾取这瓶药水,或丢弃它。
- 若 =2,他遇到一只类型为 的怪物。如果他拥 有类型为 的药水,可以使用一瓶来击败怪物;如果无法击败怪物,他会失败。
请判断他是否能击败所有怪物而不失败。
若无法击败所有怪物,输出 -1。
若可以,设 为他在冒险过程中某一时刻拥有的药水的最大数量。
在所有能让他不失败的策略中,取 的最小值 。请输出 ,以及能达成 的高桥的行动选择。
输入格式
输入通过标准输入按以下格式给出:
⋮
输出格式
若高桥无法击败所有怪物,输出 -1。
若可以,第一行输出 。
第二行输出所有满足 =1 的事件对应的行动(按事件的升序排列),拾取药水则输出 1,丢弃则输出 0,用空格分隔。
若存在多个行动序列都能达成 且让他不失败,输出任意一个即可。
13
1 2
1 3
1 1
1 3
1 2
2 3
1 3
1 3
2 3
1 3
2 2
2 3
2 1
3
1 1 1 0 0 1 0 1
该样例输出对应的行动如下:
按顺序找到类型为 2、3、1 的药水,全部拾取。
按顺序找到类型为 3、2 的药水,全部丢弃。
遇到类型为 3 的怪物,使用一瓶类型 3 的药水击败它。
找到类型为 3 的药水,拾取。
找到类型为 3 的药水,丢弃。
遇到类型为 3 的怪物,使用一瓶类型 3 的药水击败它。
找到类型为 3 的药水,拾取。
遇到类型为 2 的怪物,使用一瓶类型 2 的药水击败它。
遇到类型为 3 的怪物,使用一瓶类型 3 的药水击败它。
遇到类型为 1 的怪物,使用一瓶类型 1 的药水击败它。
在这个行动序列中, 的值为 3。
不存在 且能避免失败的策略,因此 为 3。
存在多个满足 且能让他避免失败的行动序列,输出任意一个即可。
4
2 3
1 4
2 1
1 2
-1
他必然会被遇到的第一只怪物击败。
数据规模与约定
- ()
- ()
- 所有输入值均为整数