CFCF2162G.Beautiful Tree
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
树是一种没有环的连通图。
如果一棵树所有边的端点标签的乘积之和为完全平方数,则称这棵树是美丽的。
更正式地,设 E 是树的边集。如果有
S={u,v}∈E∑(u⋅v)
是一个完全平方数,即存在整数 x 使得 S=x2,则称这棵树是美丽的。
给定一个整数 n,你的任务是构造一个包含 n 个顶点的美丽树,或者报告不存在这样的树。
输入格式
输入的第一行包含一个整数 t(1≤t≤104),表示测试用例的个数。
每个测试用例包含一个整数 n(2≤n≤2×105)。
保证所有测试用例中 n 的总和不超过 2×105。
输出格式
对于每个测试用例,如果不存在包含 n 个顶点的美丽树,输出 −1。
否则,输出 n−1 行,每行两个空格分隔的整数 u,v(1≤u,v≤n),表示一条边。
同一条边的两个端点顺序可以互换,边的输出顺序不限。
输入输出样例
输入#1
3 2 3 4
输出#1
-1 1 3 2 3 1 2 3 1 4 1
说明/提示
测试点 1:不存在包含 2 个顶点的美丽树,因此输出 −1。
测试点 2:

S=(2⋅3)+(1⋅3)=9=(3)2
测试点 3:

S=(2⋅1)+(3⋅1)+(4⋅1)=9=(3)2