#P2273. [HNOI2002] 交换

    ID: 1478 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>各省省选湖南2002概率论统计SplaySBT

[HNOI2002] 交换

题目描述

给定n个整数寄存器 。我们定义一个比较交换指令CE(a,b)如下:

CE(a,b):

  IF   THEN 交换寄存器 

(其中,1≦a<b≦n)

一个比较交换程序(简称为CE-程序)就是一个有限交换指令序列。称一个CE-程序为MIN-程序,如果在该程序执行之后,寄存器 中的值是所有寄存器中的值的最小者;如果一个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个整数即应该增加的最少指令条数。

3 3
1,2,2,3,1,2
2