[SDOI2005] 遗传代码
题目描述
抽象的 primitivus(Primitivus 循环)的遗传代码是一系列自然数 $K=(A_1,A_2,\cdots,A_n)$。我们所说的 primitivus 的特征是一个数对 $(l,r)$,表示 $l,r$ 在 $A$ 中**连续出现**。即存在一个 $i$,使得 $A_i=l$,$A_{i+1}=r$。在 primitivus 的遗传代码中没有 $(p,p)$ 特征。
### 任务
写一个程序:
1. 从文本文件读特征列表;
2. 计算所给特征的最短遗传代码长度;
3. 输出答案。
输入输出格式
输入格式
第一行有一个正整数 $n$,它是 primitivus 的不同特征的数量。
接下来 $n$ 行,每一行中有两个被空格号隔开的数字 $l$ 和 $r$。数字对 $(l,r)$ 是 primitivus 的一个特征。在输入文件中,特征并不重复。
输出格式
共一行一个整数,为 primitivus 最短遗传代码的长度。
输入输出样例
输入样例 #1
12
2 3
3 9
9 6
8 5
5 7
7 6
4 5
5 1
1 4
4 2
2 8
8 6
输出样例 #1
15
说明
### 样例解释
以下是一种符合题意的最短的遗传代码。它符合输入数据中给出的所有的特征:
$(8, 5, 1, 4, 2, 3, 9, 6, 4, 5, 7, 6, 2, 8, 6) $
### 数据范围及约定
对于全部数据,满足 $0 \le l \le 1000$,$0 \le r \le 1000$。