QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#18667. 两棵树,十二片森林

Statistiques

$1$번부터 $N$번까지 $N$개 정점과 $M$개 간선으로 이루어진 가중치 있는 무방향 단순 그래프 $G$에 대해 숲 점수를 다음과 같이 정의한다:

  1. $F_1$, $F_2$, $F_3$, $\ldots$, $F_M$ 각각을 $1$번부터 $N$번까지 $N$개 정점으로 이루어져 있으며 간선이 없는 그래프라 하자.
  2. $G$의 간선들을 가중치 오름차순으로 $e_1$, $e_2$, $\ldots$, $e_M$이라 할 때, $i=1, 2, \ldots, M$에 대해 순서대로 다음을 시행한다:
    • $F_j$에 $e_i$를 추가했을 때 사이클이 생기지 않는 최소의 양의 정수 $j$를 찾아 $F_j$에 $e_i$를 추가한다. 여기서 $e_i$를 추가한다는 것은 $e_i$의 양 끝 정점의 번호가 $u_i$, $v_i$일 때 $F_j$에 $u_i$번 정점과 $v_i$번 정점을 잇는 간선을 추가하는 것을 뜻한다.
  3. $F_i$가 하나 이상의 간선을 가지는 가장 큰 $i$를 그래프 $G$의 숲 점수라 한다.

당신은 양의 정수 $k$에 대해 숲 점수가 정확히 $k$이고 정점이 $2024$개 이하인 그래프 $G$를 생성하라는 임무를 받았다.

이 문제가 너무 쉬웠던 당신에게는 다음과 같은 추가적인 조건을 만족하는 $G$를 찾는 것이 더 흥미롭게 느껴졌다.

  • $G$의 정점의 개수를 $N$이라 하면, 간선의 개수는 $(2N-2)$이다.
  • $G$의 간선 중 $(N-1)$개는 빨간색, 다른 $(N-1)$개는 파란색으로 칠해서 빨간색 간선만 남겼을 때 트리가 되고, 파란색 간선만 남겨도 트리가 되도록 할 수 있다.

$k$가 주어질 때, 조건을 만족시키는 $G$를 구하여 출력해 보자.

输入格式

第一行包含一个整数 $k$。($2 \le k \le 12$)

输出格式

第一行输出图 $G$ 的顶点数 $N$。($2 \le N \le 2024$)

接下来 $(2N-2)$ 行,第 $i$ 行输出三个整数 $a_i$, $b_i$, $c_i$,以空格分隔。($1 \le a_i, b_i \le N$; $a_i \neq b_i$; $1 \le c_i \le 10^9$) 这表示存在一条连接顶点 $a_i$ 和 $b_i$ 的边,其权值为 $c_i$。

$G$ 必须满足以下条件:

  • 所有边的权值互不相同,即 $c_i$ 之间均不相同。
  • 输出的前 $N-1$ 条边构成一棵树。类似地,之后输出的 $N-1$ 条边也构成一棵树。
  • 不存在两个顶点被两条或更多条边直接相连。
  • $G$ 的森林分数为 $k$。

样例

输入 1

3

输出 1

5
1 2 8
2 3 1
3 4 2
4 5 5
1 3 6
3 5 4
5 2 7
2 4 3

说明

下面是 $k=3$ 时一个正确解答的例子。

如上图所示,该图由两棵不重叠的树组成,可以在下图中确认。

计算森林分数得到 $3$,如下所示。红色边属于 $F_1$,蓝色边属于 $F_2$,绿色边属于 $F_3$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.