CF1340E Nastya and Bees

题目描述

## 题目背景 **非常的不幸,出题人对这个问题的题解的证明中发现了一个错误。目前,我们还不知道正确的解决方案。不过,您可以解决这道题,但如果您的程序通过了所有的测试点,这也不能保证您的算法是正确的。如果您的程序通过了所有的测试点,并且您确信它是正确的,那么您可以将您的算法写信给出题人。** 大家肯定都读过《爱丽丝梦游仙境》这本书。在这道题中,娜斯提亚到达了一个有着三只奇怪蜜蜂的国家。这些蜜蜂很奇怪,因为它们的蜂巢是五边形的。娜斯提亚是非法来的,所以她不想让蜜蜂抓到她。让我们帮助蜜蜂惩罚入侵者! **这是一道交互题** 蜂巢是一个无向连通图,蜜蜂和娜斯提亚可以沿着边缘移动。这张图满足下面两个性质: - 这张图上任意一个节点的度数 $\le3$。 - 对于每条边,都存在一个长度 $\le5$ 的环包含这条边。 有三只蜜蜂和娜斯提亚。你要作为蜜蜂来完成这次任务。首先,你要选择放置蜜蜂的那些顶点。然后娜斯提亚会选择另一个顶点作为她初始时将出现的位置。第一次是你移动蜜蜂,然后是娜斯提亚移动,依次轮流移动,移动要满足下面的条件: 1. 对于每一只蜜蜂,你可以将它沿着它当前停留的顶点的某条出边移动它,也可以将它留在原地。 2. 然后娜斯提亚**必然**会从她当前停留的顶点沿着图的某条边移动。 当任何时刻有至少一只蜜蜂与娜斯提亚在同一个顶点你就赢了。 如果 $n$ 次移动后依然没有出现这样的情况,那么你就输了。 **可以有多只蜜蜂出现在同一个节点里。**

输入格式

第一行包括两个正整数 $n(4\le n\le 5000)$ 和 $m(n\le m\le 3n)$,分别表示图的点数 $n$ 和图的边数 $m$。 接下来的 $m$ 行,每行包括两个正整数 $v$ 和 $u\ (1\le v,u\le n)$ ,表示有一条连接 $v$ 和 $u$ 的边。数据保证:这张图是一张连通图,且任意一个节点的度数 $\le3$。对于每条边,都存在一个长度 $\le5$ 的环包含这条边。注意:这张图**可能**含有重边。

输出格式

在每一轮,你必须输出恰好三个顶点 $a,b,c\ (1\le a,b,c\le n)$。第一次输出的 $3$ 个顶点表示你最初放置蜜蜂的顶点。作为回应,你将收到娜斯提亚所处位置的顶点。接下来的每一行的 $3$ 个顶点表示你将把三只蜜蜂分别移到哪个顶点。每只蜜蜂的移动不被其他蜜蜂的移动影响。输出 $3$ 个顶点后,你会得到娜斯提亚去往的新顶点的编号。 一旦其中一只蜜蜂与娜斯提亚处于同一顶点或你已达到移动次数的限制,你的程序应该停止工作。也就是说,如果你采取了行动之后,其中一只蜜蜂与娜斯提亚位于同一顶点,则你的程序必须停止工作,或者如果娜斯提亚采取行动并最终与其中一只蜜蜂位于同一顶点,你不应该采取行动,程序应停止工作。 如果移动次数超过限制( 图的节点数 $n$ ),你会得到答案错误的评测结果。 如果你不输出任何内容或忘记刷新输出缓冲区,你可能会收到 `Idleness Limit Exceeded` 的评测结果。 要刷新输出缓冲区,你需要在输出查询的结果之后立即执行以下操作: - C++ 中的 `fflush(stdout)` 或 `cout.flush()`。 - Java 中的 `System.out.flush()` - Pascal 中的 `flush(output)`。 - Python 中的 `stdout.flush()`。 在这个问题中,交互者是**自适应的**。这意味着根据你之前的所有移动,娜斯提亚的行为可能会发生变化。 你不能 hack 这道题。

说明/提示

Let Nastya be a green chip, and three numbered red ones are three bees. In the first test, the movement of the heroes looks like this. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/eebe866e106b15cd4f913c73aaf260bbec89b0be.png)After selecting the starting vertices. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/8e4e6f78156a91462d830df3504b2ef8c1505235.png)The first move after the bees move. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/6d0f4b630ba495400de16f076bf674029933c110.png)The first move after the Nastya's move. The first bee caught Nastya. In the second test, the movement of the heroes looks like this. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/7707616cf81fb714e43eeb2a6362c5e8a3bf262d.png)After selecting the starting vertices. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/8dea8ee189ace3b1c8235989507a75ea207a8216.png)The first move after the bees move. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/1ab4509e500fa9da800c357b644de765dad19bf7.png)The first move after the Nastya's move. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1340E/6c5bc353d2e63e835158afd78f85a506ae7b7d9f.png)The second move after the bees move. The first bee caught Nastya.