http://codeforces.com/contest/370/problem/C

题意:有n个人,m中颜色的手套,开始每个人都是两只相同颜色的手套,经过交换最多可以换出多少个人戴不同颜色的手套。

先按照出现颜色个数排序,然后向后递推交换右手套就可以。

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 60000
using namespace std; int n,m;
int c[maxn];
int num[maxn];
struct node
{
int val;
int lco,rco;
int cnt;
bool operator <(const node &a)const
{
return (cnt>a.cnt)||(cnt==a.cnt&&val<a.val);
}
} p[maxn],q[maxn]; int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(num,,sizeof(num));
for(int i=; i<n; i++)
{
scanf("%d",&c[i]);
num[c[i]]++;
}
for(int i=; i<n; i++)
{
p[i].val=c[i];
p[i].cnt=num[c[i]];
}
sort(p,p+n);
for(int i=; i<n; i++)
{
p[i].lco=p[i].val;
p[i].rco=p[i].val;
}
int j=p[].cnt;
for(int i=; i<n; i++)
{
if(j>=n) break;
swap(p[i].rco,p[j].rco);
j++;
}
int t1=;
for(int i=; i<n; i++)
{
if(p[i].lco!=p[i].rco) t1++;
}
printf("%d\n",t1);
for(int i=; i<n; i++)
{
printf("%d %d\n",p[i].lco,p[i].rco);
}
}
return ;
}

cf C. Mittens的更多相关文章

  1. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  2. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  3. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  4. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  5. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  6. CF memsql Start[c]UP 2.0 A

    CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...

  7. CF memsql Start[c]UP 2.0 B

    CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...

  8. CF #376 (Div. 2) C. dfs

    1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...

  9. CF #375 (Div. 2) D. bfs

    1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...

随机推荐

  1. 【树形动态规划】【CTSC1997】选课 解题报告

    CTSC1997-选课 描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这 ...

  2. ANT打包 小实例

    ANT打包 package src; public class Hello { /**   * @param args   */  public static void main(String[] a ...

  3. win7虚拟机起不来,报错transport vmdb error -44 message the vmware authorization

    运行: services.msc 选择:VMware Authorization Service,运行它

  4. angular Error: [ng:areq]

    在使用augularjs的时候,爆了个错误: 后来经过对比,原来是我的<html>标签多了点东西

  5. myeclipse 于 否update software 解

    In some situations you may not be able to install or update software using the menu commands in the  ...

  6. 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照(颠覆性理论)

           在[.NET特供-第三季]系列博客中的第一篇<ASP.NET MVC系列:MVC与三层图形对照>发表之后,引起了领导的注意.同一时候,开发小组内部在交流MVC和三层之间关系的 ...

  7. 队列(链式存储)JAVA代码

      publicclassLinkQueue<T>{       //结点类     publicclassNode{         public T data;         pub ...

  8. 利用PCA来简化数据

    13.2.2 在NUmpy中实现PCA 将数据转换成前N个主成分的伪代码大致如下: 去除平均值 计算协方差矩阵 计算协方差矩阵的特征值和特征向量 将特征值从大到小排列 保留最上面的N个特征向量 将数据 ...

  9. UCOS 中的中断处理

    最近遇到一个问题,当我在UCOS里调用系统延时"OSTimeDlyHMSM(0, 0, 0, 10)",程序进入硬件错误中断“HardFault_Handler”中. 我开始以为是 ...

  10. 《Java编程思想》之重点笔记——多态性理解

    Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定— ...