#P9101. [PA2020] Skierowany graf acykliczny
[PA2020] Skierowany graf acykliczny
题目描述
题目译自 PA 2020 Runda 5 Skierowany graf acykliczny
正如名字所示,有向无环图(Directed Acyclic Graph,简称 DAG)是一个无环的有向图。
如果我们在这样一个图中选择两个节点,我们可以计算出这些节点之间存在多少条不同的有向路径。如果其中一条路径包含一条边而另一条不包含这条边,我们就认为这两条路径是不同的。
你的任务是构造一个 个节点(编号从 到 )的有向无环图,其中从节点 到节点 正好有 条路径。你的图最多可以有 个节点,每个节点最多可以有两条出边,而且不能包含重边(即如果一个节点有两条出边,它们必须通向不同的节点)。可以证明,对于每一个满足输入中约束条件的 ,都可以构造一个满足条件的图。
输入格式
一行一个整数 。
输出格式
第一行输出一个整数 ,表示你构造的图中节点的个数。
接下来 行,每行两个整数。第 行表示以编号为 的节点为起点的出边到达的节点编号。这两个数中任何一个都可以是 ,表示不存在这条边。如果两个数都不是 ,那这两个数不应该相等。
如果有许多满足条件的图,你可以输出任何一个。注意你不需要最小化节点个数,且在限制之下图节点个数是足够的。
3
6
3 5
6 -1
2 6
2 6
6 -1
-1 -1
提示
样例 1 解释
下图展示了输出中 个节点的有向无环图,从 到 有三条路径: 和 。
数据范围
本题采用捆绑测试
对于 的数据,保证 ,。