SP4053 MCARDS - Card Sorting
题目描述
Dave的小儿子Maverick喜欢玩纸牌游戏,但他只有四岁,和年长的朋友们玩时总是输。而且,对他来说,整理手中的牌也不容易。
当Maverick拿到牌后,他需要将牌按颜色分组,使得每组中的所有牌颜色相同。接着,他需要根据牌的点数对每组牌进行排序,每组中点数最小的牌应当放在最左边。当然,Maverick在整理牌的时候,必须一直把所有牌拿在手上。
Maverick需要尽可能快速地整理好牌,也就是说,他需要用最少的移动次数来完成整理。每次移动只能更换一张牌的位置。
请你编写一个程序,计算出将牌按上述要求整理好所需的最少移动次数。
输入格式
第一行输入包含两个整数 $C$ 和 $N$,分别代表颜色的种类数($1 \le C \le 4$)和每种颜色的牌数($1 \le N \le 100$),用空格分隔。
接下来的 $C \times N$ 行中,每行包含一对整数 $X$ 和 $Y$,表示发给Maverick的一张牌的颜色($X$)($1 \le X \le C$)和点数($Y$)($1 \le Y \le N$)。这些行的顺序就是发牌的顺序。并且没有两行表示相同的牌。
输出格式
输出文件的第一行应该输出将牌整理成指定顺序所需的最少移动次数。
**本翻译由 AI 自动生成**