#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <string.h>
#include <queue>
#include <vector>
using namespace std;
int n, m, a[10010]; //CFDiv(2)370 C. Mittens
struct record
{
int x, y;
}p[5010];
/*
题意:n个小孩,有m种颜色袜子,每个小孩有一双袜子,要让尽量多的小孩穿不同颜色袜子,求怎么去分配。
*/
int main()
{
int t, j, s;
while(scanf("%d%d", &n, &m)!=EOF)
{
for(t=j=1; j<=n; t=t+2, j++)
{
scanf("%d", a+t);
a[t+1]=a[t];
}
sort(a, a+2*n+1);
for(t=1, s=0; t<=n; ++t)
{
if(a[t]!=a[t+n]) //比较相同的间隔
s++;
p[t].x=a[t];
p[t].y=a[t+n];
}
printf("%d\n", s);
for(t=1; t<=n; ++t)
{
if(t%2) //注意这里输出有要求
printf("%d %d\n", p[t].x, p[t].y);
else printf("%d %d\n", p[t].y, p[t].x);
}
}
return 0;
}
CFDiv(2)370 C. Mittens
最新推荐文章于 2022-10-29 10:25:42 发布