#iroha2019day4i. [iroha2019_day4_i]ピンチ
[iroha2019_day4_i]ピンチ
故事概要
(稍微出乎意料...) 刚刚前辈使用魔法阵传送后,我被从背后袭来的异形囚禁住了。
(不能让前辈担心,但是...)束缚非常严格,还安装了类似炸弹的东西干扰我的集中力。
(至少,只有前辈...)思考逐渐停滞。就在那时,我听到了熟悉的声音。
"小伊罗哈!...我来救你了!"
问题描述
爆弹有 个端子。任意 个端子之间有一根线,电流只能沿特定方向流动(即爆弹是一个由完全图的每条边的方向随机确定的图)。输入中不给出这些方向。 每根线上都有一个开关,可以将其打开或关闭,但初始状态都是关闭的。爆弹必须按照以下方式解除:
- 指定要解除的端子数量 。
- 然后按顺序指定 个不同的端子编号 进行解除。
- 要求对于所有 , 之间的线路中电流的方向是 。
你的任务是,在调用以下两种类型的查询若干次后,输出解除步骤 :
- "切换":指定两个端子 ,切换它们之间线路上的开关状态。但是,如果打开的线路数超过 ,爆弹会立即爆炸。
- "检验":指定两个端子 。根据只经过当前打开的线路从端子 到端子 是否有电流流动,返回
Y
或N
。
然而,如果满足以下任一条件,爆弹将爆炸并且解答无效:
- 查询或答案无效。
- 调用 "切换" 查询超过 次。
- 调用 "检验" 查询超过 次。
- 打开的线路数超过 。
- 存在可以解除更多端子的解。
约束
输入输出
首先,从标准输入读入 :
然后,可以执行 次或更多次 "切换" 和 "检验" 查询。每个查询都必须按以下格式输出到标准输出:
"切换" 查询:
其中,必须满足 。紧接其后,标准输入中不给出任何内容。
"检验" 查询:
其中,必须满足 。紧接其后,从标准输入中读入以下形式的问题的答案:
ans
这里, 是 Y
或 N
。
最后,输出解答。它们必须按以下格式输出:
0 0
然后立即终止程序。
评测
- 在输出后,必须 flush 标准输出。 否则可能会超时。
- 在输出解答后,程序必须立即终止。否则行为是未定义的。
- 当输出错误时,行为是未定义的。
示例
本示例中,,电流的方向是 $1 \\rightarrow 2, 2 \\rightarrow 3, 3 \\rightarrow 1$。同时,给出的解答是 。
输入
输出