当前位置: 首页 > wzjs >正文

长沙网站设计公司推荐友链出售

长沙网站设计公司推荐,友链出售,注册域名需要费用吗,网站制作 福宁网络有限公司问题描述 小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 n 以内的正整数作为 id,第 i 名同学的 id 为 ai​。 老师希望…

问题描述

小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 n 以内的正整数作为 id,第 i 名同学的 id 为 ai​。

老师希望通过更改若干名同学的 idid 使得对于任意一名同学 i,有且仅有另一名同学 j的 id 与其相同 (ai=aj​)。请问老师最少需要更改多少名同学的 id?

输入格式

输入共 2 行。

第一行为一个正整数 n。

第二行为 n 个由空格隔开的整数 a1,a2,...,an。

输出格式

输出共 1 行,一个整数。

样例输入

4
1 2 2 3

样例输出

1

样例说明

仅需要把 a1​ 改为 3 或者把 a3​ 改为 1 即可。

思路: 

利用 map来判断,如果id出现次数不为2,就需要修改,统计出现次数为1次(t1)和大于2次(t2)的,如果t1>=t2,每个t2都可以和一个t1对应改变,否则的话多余的t2都需要改变。

代码:

#include <bits/stdc++.h>
#define ll long long 
using namespace std;
int main()
{ll n,ans=0,t1=0,t2=0;cin>>n;vector<ll> v(n+5);map<ll,ll> mp;for(int i=0;i<n;i++){cin>>v[i];mp[v[i]]++;}for(auto it=mp.begin();it!=mp.end();it++){if(it->second!=2) {if(it->second<2) t1++;else {t2+=(it->second-2);}}}if(t1>=t2) cout<<(t1+t2)/2;else cout<<(t2-t1)+t1;return 0;
}

http://www.dtcms.com/wzjs/448394.html

相关文章:

  • 宁夏微信服务网站杭州关键词排名工具
  • 东莞哪里能学建设网站百度推广最简单方法
  • 网站建设前台后台教程网络营销推广及优化方案
  • 资源网站平台建设方案企业网络营销目标
  • 销售行业怎样做网站网络测试
  • ui设计哪家培训好淘宝优化
  • wordpress导航菜单下的网页404网站优化推广公司
  • 宜昌做网站的公司网站推广找
  • 蛋糕店网站建设模版成都网站排名 生客seo
  • 专业做室内设计的网站有哪些方面农产品网络营销方案
  • 视频网站建设流程成都品牌推广
  • .net做的网站代码站牛网是做什么的
  • 俄文网站建设方案日本网站源码
  • 滨州企业做网站软文营销代理
  • 最便宜买机票网站建设3步打造seo推广方案
  • wordpress 添加文章列表什么是seo如何进行seo
  • 做网站一般需要多久上海百度推广优化排名
  • chinacd.wordpress.som广东seo推广外包
  • 建筑网片焊网片机seo教程自学网
  • 淮北网站开发公司seo是什么学校
  • 安徽网站开发培训价格营销软件app
  • 如何用网站做苹果app一份完整的营销策划方案
  • 建设网站过水软文广告是什么
  • 科技公司网站开发软件定制开发公司
  • 城厢区住房和城乡建设局网站网络营销属于哪个专业
  • 在线图片编辑尺寸抖音seo供应商
  • 全球网站排名前十公司运营策划方案
  • 网站设计培训班前台什么网站百度收录快
  • 怎样在网站上做推广网站优化策略分析
  • 前端做项目网站网店运营基础知识