IOI 2023 组委会有大麻烦了!他们忘记计划即将到来的 Ópusztaszer 之旅了。然而,或许一切尚未为晚 ......
在 Ópusztaszer 有 个地标,编号为从 到 。某些地标之间连有双向的道路。任意一对地标之间至多连有一条道路。组委会不知道哪些地标之间有道路相连。
如果对于每三个不同的地标,它们之间都至少连有 条道路,我们就称 Ópusztaszer 的路网密度是至少为 的。换言之,对所有满足 的地标三元组 ,配对 , 和 中至少有 个配对中的地标有道路相连。
组委会已知有某个正整数 ,满足路网密度至少为 。注意, 的值不会大于 。
组委会可以询问 Ópusztaszer 的电话接线员,以获取关于某些地标之间的道路连接信息。在每次询问时,必须给出两个非空的地标数组 和 。地标之间必须是两两不同的,即,
- 对于满足 的所有 和 ,有 ;
- 对于满足 的所有 和 ,有 ;
- 对于满足 且 的所有 和 ,有 。
对每次询问,接线员都会报告是否存在 中的某个地标和 中的某个地标有道路相连。更准确地说,接线员会对满足 和 的所有配对 和 进行尝试。如果其中某对地标 与 之间连有道路,接线员将报告 true
。否则,接线员将报告 false
。
一条长度为 的路程,被定义为由不同地标 构成的序列,其中对从 到 (包括 和 )的所有 ,地标 和 之间都有道路相连。如果不存在长度至少为 的路程,则长度为 的某条路程被称为是最长路程。
你的任务是通过询问接线员,帮助组委会在 Ópusztaszer 找一条最长路程。