CF605D Board Game
题目描述
你正在玩一款桌面卡牌游戏。在这个游戏中,玩家有两个属性,$x$ 和 $y$,分别表示白魔法技能和黑魔法技能。桌面上有 $n$ 张魔法卡牌,每一张卡牌都有四个属性,分别为 $a_{i}$、$b_{i}$、$c_{i}$ 和 $d_{i}$。每一次操作,你可以选择一张卡牌并释放卡牌上的魔法,只有当你的属性满足 $a_{i} \leq x$ 且 $b_{i} \leq y$ 时才可以释放,也就是说你需要有足够的魔法技能来释放该魔法。然而,释放成功后,你的属性会发生变化,变为 $x = c_{i}$ 且 $y = d_{i}$。
游戏开始时,玩家的两个属性均为零。游戏的目标是释放第 $n$ 张卡牌上的魔法。你的任务是用尽量少的操作次数达成目标。你可以以任意顺序和任意次数使用卡牌(比如有些卡牌不使用也可以)。
输入格式
输入的第一行包含一个整数 $n$($1 \leq n \leq 100000$),表示桌面上的卡牌数量。
接下来的 $n$ 行,每行包含四个整数 $a_{i}$、$b_{i}$、$c_{i}$、$d_{i}$($0 \leq a_{i}, b_{i}, c_{i}, d_{i} \leq 10^{9}$),分别为每张卡牌的属性。
输出格式
第一行输出一个整数 $k$,表示达成目标所需的最小操作次数。第二行输出 $k$ 个数字,按顺序输出你选择释放的卡牌的编号。如果有多种最优方案,输出任意一种即可。
如果无法释放第 $n $ 张卡牌,请输出 $-1$。
说明/提示
由 ChatGPT 5 翻译