301952: CF370C. Mittens

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Mittens

题意翻译

n 个小朋友,每人有一副手套(左右手同样颜色),手套颜色数量是 m,现在任意两人可以交换手套(左手只能换左手),问经过任意次交换最多几个人所带的左右两只手套是不同色的,输出任意一种方案。

题目描述

A Christmas party in city S. had $ n $ children. All children came in mittens. The mittens can be of different colors, but each child had the left and the right mitten of the same color. Let's say that the colors of the mittens are numbered with integers from 1 to $ m $ , and the children are numbered from 1 to $ n $ . Then the $ i $ -th child has both mittens of color $ c_{i} $ . The Party had Santa Claus ('Father Frost' in Russian), his granddaughter Snow Girl, the children danced around the richly decorated Christmas tree. In fact, everything was so bright and diverse that the children wanted to wear mittens of distinct colors. The children decided to swap the mittens so that each of them got one left and one right mitten in the end, and these two mittens were of distinct colors. All mittens are of the same size and fit all the children. The children started exchanging the mittens haphazardly, but they couldn't reach the situation when each child has a pair of mittens of distinct colors. Vasily Petrov, the dad of one of the children, noted that in the general case the children's idea may turn out impossible. Besides, he is a mathematician and he came up with such scheme of distributing mittens that the number of children that have distinct-colored mittens was maximum. You task is to repeat his discovery. Note that the left and right mittens are different: each child must end up with one left and one right mitten.

输入输出格式

输入格式


The first line contains two integers $ n $ and $ m $ — the number of the children and the number of possible mitten colors ( $ 1<=n<=5000 $ , $ 1<=m<=100 $ ). The second line contains $ n $ integers $ c_{1},c_{2},...\ c_{n} $ , where $ c_{i} $ is the color of the mittens of the $ i $ -th child ( $ 1<=c_{i}<=m $ ).

输出格式


In the first line, print the maximum number of children who can end up with a distinct-colored pair of mittens. In the next $ n $ lines print the way the mittens can be distributed in this case. On the $ i $ -th of these lines print two space-separated integers: the color of the left and the color of the right mitten the $ i $ -th child will get. If there are multiple solutions, you can print any of them.

输入输出样例

输入样例 #1

6 3
1 3 2 2 1 1

输出样例 #1

6
2 1
1 2
2 1
1 3
1 2
3 1

输入样例 #2

4 2
1 2 1 1

输出样例 #2

2
1 2
1 1
2 1
1 1

Input

题意翻译

n 个小朋友,每人有一副手套(左右手同样颜色),手套颜色数量是 m,现在任意两人可以交换手套(左手只能换左手),问经过任意次交换最多几个人所带的左右两只手套是不同色的,输出任意一种方案。

加入题单

上一题 下一题 算法标签: