#P1433. Exchanges
Exchanges
本题没有可用的提交语言。
题目描述
给定个整数寄存器,我们定义一个比较交换指令,其中是寄存器索引():
:
如果寄存器的内容大于的内容,则交换和的值。
一个比较交换程序(简称程序)是任意有限的比较交换指令序列。如果一个程序在执行后,寄存器始终包含所有寄存器中的最小值,则称该程序为最小值查找程序。如果该程序在删除任意一条指令后仍是最小值查找程序,则称其为可靠的。
给定一个程序,问最少需要在程序的末尾添加多少条指令,才能使其成为一个可靠的最小值查找程序?
示例
考虑以下针对3个寄存器的程序:
。
为了使该程序成为可靠的最小值查找程序,只需添加两条指令:和。
任务
编写一个程序,对每个数据集:
读取程序的描述;
计算最少需要添加的指令数量;
输出结果。
输入格式
第一行输入一个正整数,表示数据集的数量()。接下来是个数据集。
每个数据集由两行组成:
第一行包含两个整数和,用空格分隔(,)。是寄存器的数量,是程序的指令数量。
第二行包含个整数,用空格分隔,表示程序本身。第和第位的整数和()是程序中第条指令的参数。
输出格式
输出行,每行一个整数,表示对应该数据集需要添加的最少指令数量。
输入样例 1
1
3 3
1 2 2 3 1 2
输出样例 1
2
来源
中欧 2001