一道远古得已经看不出这是什么东西的题面(悲
给定 n 个整数寄存器 r1,r2,...,rn。我们定义一个比较交换指令 CE(a,b) 如下:
(其中,1≤a<b≤n)
一个比较交换程序(简称为 CE-程序)就是一个有限交换指令序列。称一个 CE-程序为 MIN-程序,如果在该程序执行之后,寄存器 r1 中的值是所有寄存器中的值的最小者;如果一个 CE-程序在删除其中任意一条交换指令后,仍然是一个 MIN-程序,则称该 CE-程序是可靠的 MIN-程序。
你的任务是:给定一个 CE-程序 P,编程求出至少在程序 P 的尾部增加多少条指令才能使程序 P 成为可靠的 MIN-程序。
例如,考虑下列三个寄存器的 CE-程序:
CE(1, 2),CE(2, 3),CE(1, 2)。
我们仅需要增加 2 条指令:CE(1, 3),CE(1, 2) 就可使该 CE-程序成为可靠的 MIN-程序。
共 2 行,第 1 行为用空格分开的 2 个整数 n,m;其中 n 为寄存器个数(2≤n≤10000),m 为 CE-程序的指令条数(0≤m≤2500)。
接下来为 m 条指令 CE(a,b),a,b 之间用逗号分隔,两条指令之间也用逗号分隔。
共 1 行,为 1 个整数即应该增加的最少指令条数。
## 题目描述
给定 $n$ 个整数寄存器 $r_1,r_2,...,r_n$。我们定义一个比较交换指令 $\text{CE(a,b)}$ 如下:
- $\text{CE(a,b)}$:
- $\text{IF }r_a\textbf{中的值}>r_b\textbf{中的值}\text{ THEN }\textbf{交换寄存器}r_a\textbf{与}r_b\textbf{中的值}$
(其中,$1\leq a<b\leq n$)
一个比较交换程序(简称为 CE-程序)就是一个有限交换指令序列。称一个 CE-程序为 MIN-程序,如果在该程序执行之后,寄存器 $r_1$ 中的值是所有寄存器中的值的最小者;如果一个 CE-程序在删除其中任意一条交换指令后,仍然是一个 MIN-程序,则称该 CE-程序是可靠的 MIN-程序。
你的任务是:给定一个 CE-程序 P,编程求出至少在程序 P 的尾部增加多少条指令才能使程序 P 成为可靠的 MIN-程序。
例如,考虑下列三个寄存器的 CE-程序:
$\text{CE(1, 2)}$,$\text{CE(2, 3)}$,$\text{CE(1, 2)}$。
我们仅需要增加 $2$ 条指令:$\text{CE(1, 3)}$,$\text{CE(1, 2)}$ 就可使该 CE-程序成为可靠的 MIN-程序。
## 输入格式
共 $2$ 行,第 $1$ 行为用空格分开的 $2$ 个整数 $n,m$;其中 $n$ 为寄存器个数($2\leq n\leq10000$),$m$ 为 CE-程序的指令条数($0\leq m\leq2500$)。
接下来为 $m$ 条指令 $\text{CE(a,b)}$,$a,b$ 之间用逗号分隔,两条指令之间也用逗号分隔。
## 输出格式
共 $1$ 行,为 $1$ 个整数即应该增加的最少指令条数。