题目描述

萌樱花是一只单身狗。

萌樱花今天在桌子上摆出了N张卡片,每张卡片i写着一个数字Ai

他不喜欢卡片上的数字多个出现,于是他想搞点事情拆分它们。

从桌子上选出三张卡,去掉一张数字最大,一张数字最小,然后留下中间那张放回桌子上,

这样的操作持续到桌子上的卡片显示的数字都是唯一的才停止。

那么最后桌子上最多可以留下多少张卡片呢?

输入

3<=N<=105

N是奇数,这样保证绝对可以留下一张

1<=Ai<=105

Ai是整数

输入格式:

N

A1 A2 A3 .....AN

输出

输出 最后桌子上能留下多少张卡

样例输入

5
1 2 1 3 7

样例输出

3

提示

我们选取1 1 2,去掉最大2,最小1,留下中间的1,最后桌子上只剩下1 3 7,一共三张卡

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
int a[];
cin>>n;
for(int i=;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
int x=unique(a,a+n)-a;
if(x%)
{
cout<<x;
}
else
{
cout<<x-;
}
return ;
}
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
int a[];
int vis[];
int main()
{
int n;
while(~scanf("%d",&n))
{
memset(vis,,sizeof(vis));
for(int i=;i<n;i++)
{
scanf("%d",&a[i]);
vis[a[i]]++;
}
int j=;
for(int i=;i<=;i++)
{
if(vis[i]>)
{
while(vis[j]<=&&j>i)j--;
if(j>i)
{
if(vis[i]==vis[j])vis[i]=,vis[j]=;
else if(vis[i]>vis[j])
{
vis[i]-=vis[j]-;
vis[j]=;
i--;
}
else if(vis[i]<vis[j])
{
vis[j]-=vis[i]-;
vis[i]=;
j++;
}
}
}
}
int output=;
for(int i=;i<=;i++)
{
if(vis[i]==)output++;
if(vis[i]>)
{
if(vis[i]%==)continue;
else output++;
}
}
printf("%d\n",output);
}
}

江西理工大学南昌校区排名赛 A: 单身狗的卡片游戏的更多相关文章

  1. 江西理工大学南昌校区排名赛 E: 单身狗的种树游戏

    题目描述 萌樱花是一只单身狗. 萌樱花今天决定种树,于是他来到了自己家的后院. 萌樱花的后院有n个树坑,所有树坑排列在一行上,每一个树坑都可以种一棵树,相邻树坑间的距离为1,现在所有的树坑都是空着的. ...

  2. 江西理工大学南昌校区排名赛 D: 单身狗的物理游戏

    题目描述 萌樱花是一只单身狗. 萌樱花今天决定做一道理综物理题: 如图,两固定的绝缘斜面倾角均为θ,上沿相连.两细金属棒ab(仅标出a端)和cd(仅标出c端)长度均为L,质量分别为2m和m:用两根不可 ...

  3. 江西理工大学南昌校区排名赛 C: 单身狗的地图游戏

    题目描述 萌樱花是一只单身狗. 萌樱花今天决定去喜欢的学妹家玩,但他不记得路,于是他拿出有n个点的完全图,选取了k条不同的路. 完全图:n 个点的图中任意两个点之间都有一条边相连,所以有 n*(n-1 ...

  4. 江西理工大学南昌校区排名赛 B: 单身狗的数字游戏

    题目描述 萌樱花是一只单身狗. 萌樱花今天初始化了N个数字,使它们都为0 0 0 0... 萌樱花决定选取某一个位置,分别增加1到N(如果到达数组末尾就从头开始). 比如: 0 0 0(选择第二个位置 ...

  5. 江西理工大学南昌校区排名赛 F: 单身狗的骑马游戏

    题目描述 萌樱花是一只单身狗. 萌樱花今天在学姐那里做了一道题: 假设赛马场上有n只马儿,第i只马儿的起点在第i米的位置,这些马儿都会朝着同一个方向奔跑. 每只马儿的速度都不一样,而且大家都不知道这些 ...

  6. 江西理工大学南昌校区cool code竞赛

    这次比赛原本就是来打酱油的,想做个签到题就走!一开始不知道1002是签到题,一直死磕1001,WA了四发过了,回头一看Rank,三十名,我靠!看了1001的AC率,在我AC之前只有一个人AC了,当时我 ...

  7. 江西理工大学南昌校区acm选拔赛题解

    第一题略 第二题 #include<stdio.h> int main() { int a1,a2,a3,b1,b3,b2,c1,c2,c3,n,sum,d1,d2,d3,i; scanf ...

  8. phpwamp单身狗模式的详解与分析,单身狗模式/即霸体模式的作用讲解。

    最近有学生在使用PHPWAMP的时候,问我霸体模式的作用. 学生问:老师,PHPWAMP里面的霸体模式是什么意思,有什么用? 回答:额...就是以前我发布测试版的时候,模式切换里面的单身狗模式. 学生 ...

  9. PAT乙级 1065. 单身狗(25) by Python

    1065. 单身狗(25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue "单身狗"是中文对 ...

随机推荐

  1. Java方法学习疑问

    此方法不理解 finalize() 方法 Java允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做finalize( ),它用来清除回收对象. 例如,你可以使用finaliz ...

  2. Luogu 4900 食堂

    一道把很多东西放在一起的练手题. $$\sum_{i = A}^{B}\sum_{j = 1}^{i}\left \{ \frac{i}{j} \right \} = \sum_{i = A}^{B} ...

  3. WebDriverWait等设置等待时间和超时时间

    1.显示等待 等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常 WebDriverWait(driver, timeout, poll_frequency=0 ...

  4. Spark的job调优(1)

    本文翻译之cloudera的博客,本系列有两篇,第二篇看心情了 概论 当我们理解了transformation,action和rdd后,我们就可以写一些基础的spark的应用了,但是如果需要对应用进行 ...

  5. 黑盒测试实践--Day2 11.26

    黑盒测试实践--Day2 今天完成任务情况: 大家自主安装和学习Selenium软件 小尹给大家介绍学生信息管理系统的基本情况,有余力者搭建了相关环境 周末,休息 附录 小组基本情况介绍 人数:五人 ...

  6. Python基础入门-For循环

    For循环的功能比较强大,他可以帮助我们实现很多重复性的工作.而且for循环能迭代不同的数据结构.他的应用也十分的广泛,作为初学者,我们需要对循环的概念多加理解和练习.接下来我们就来学习for循环的一 ...

  7. Deep Residual Learning for Image Recognition

    Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun           Microsoft Research {kahe, v-xiangz, v-sh ...

  8. 编写高质量代码改善C#程序的157个建议——建议34:为泛型参数设定约束

    建议34:为泛型参数设定约束 “约束”这个词可能会引起歧义,有些人肯能认为对泛型参数设定约束是限制参数的使用,实际情况正好相反.没有“约束”的泛型参数作用很有限,倒是“约束”让泛型参数具有了更多的行为 ...

  9. 分享我的第一个asp.net core开发过程

    .net core 这个东西感觉还是很不错的,学习了一下,并且做了一个微服务(IP地址查询服务) http://vju.cc/ip/ipquery 看上他的跨平台功能,所以就研究一下,中间有不少坑,有 ...

  10. mysql 按照姓氏排序

    1.如果是gbk存储 order by name asc 2.非GBK order by convert(name using gbk) asc