问题:在JOBDU团队里,陈博是最讲平均主义的人,对数字十分敏感。事实上,他还是个数字完美主义者。例如看到N个数字的时候,从1到N的每个数都需要在其中出现且仅出现一次,否则他就觉得这个数字序列不完美。后来,我明白了:这是排列!
对于一个整数序列d1, d2, d3 ... dn,你是否能够算出至少改变其中的几个数,才能把他们变成从1到N的一个排列?例如,对于整数序列 3, 2, 2,我们只需要将其中的一个2改为1就能得到一个从1到3的排列:3, 1, 2
输入:每个测试文件包含多个测试案例,每个测试案例两行,第一行包括一个整数N,代表整数序列的长度,第二行是以空格隔开的N个整数,代表该整数序列。其中我们能保证1 <= N <= 10^5,每个整数的长度不超过100.
输出:对于每个整数序列,输出一行,包含一个整数,表明至少要改变该整数序列的多少个数才能得到一个从1到N的排列。
实现代码:
#include <iostream>
#include <bitset>
#include <string>
using namespace std;
int main(int argc,char *argv[]){
int len,index;
unsigned long input_num,n,c,total;
string input;
bitset<100001> bs(0);
for(;cin>>n;){
for(c=0;c<n;++c){
cin>>input;
len=input.length();
if(len>6){
continue;
}else{
const char *num=input.c_str();
for(input_num=0,index=0;index<input.length();++index){
input_num=input_num*10+num[index]-'0';
}
if(input_num>100000) continue;
else bs[input_num]=1;
}
}
for(total=0,c=1;c<=n;++c){
if(bs[c]==0) ++total;
}
cout<<total<<endl;
bs.reset();
}
return 0;
}
运行结果:
- 大小: 6.4 KB
分享到:
相关推荐
已改-被征地农民利益保护制度创新研究:陈博-论文.zip
12.3陈博SQL作业.sql
陈博:用互联网将猕猴桃带出国门.pdf
极验陈博-智能反爬虫试炼之路.pdf
已改-被征地农民利益保护制度创新研究:陈博.zip
USTC 设备驱动程序设计课程 赵振刚 陈博
这是之前给ACM集训队的师弟师妹们做培训用的原创课件。 由于我个人认为语言表达才是主题,课件只是辅助,因此课件的文字不多,偏向于画图说明。课件内容是深度搜索和广度搜索的基本思想,非常基础,希望能够对有需要...
《Linux实用教程》电子版 第八军团资料
系统建模期末考试回忆版 CPS系统; 实时系统描述; 时间自动机、时序图等等
Linux实用学习教程 ─────(第一版) 本书是为广大Linux学习者制做的,本书内容基础,语言简短简洁,也节选了一些比较经典而且一定要了解 的Linux知识,循序渐进的介绍Linux相关知识,从入门到提高,希望对所有学习Linux...
HeyCar周四软件工程大项目。组员:刘昱昊,罗雨辰,陈博楠,王珊珊,田陇宁,方潇玥,张嘉麟
单片机详细课件,可用于自学,可作为教学资源
《Linux实用教程》电子教案-9:第9章 Linux编程基础.ppt
linux入门学习教程,包含基本的命令,及一些在linux系统下运行的小程序
在 ArchSummit 深圳 2018 大会上,陈博讲师做了《高并发大容量消息推送后台系统架构演进》主题演讲
Linux实用教程知识点整理大全 人民邮电出版社 陈博 孙宏斌 编著 计算机专业 曲阜师范大学 2011级软件工程专业
AS深圳2018-《企业级+Node.js+Web+框架研发与落地》-不四.pdf AS深圳2018-《万台规模服务...AS深圳2018-高并发大容量消息推送后台系统架构演进-陈博.pdf AS深圳2018-《陆金所互金平台异步消息系统实践》-李貌-v1.2.pdf
第二周——项目周报和项目计划1、项目信息:项目名称HeyCar组名七个老司机小组成员刘昱昊 罗雨辰 方潇月 张嘉麟 陈博楠 田陇宁 王珊珊立项日期2018年4月
工作组工作项目1工作项目2人员1人员2人员3人员4人员5收费 现场实施李树春张永恒陈博,刘磊曹向林魏海波,卡兼容/外设兼容李树春张永恒曹向林魏海波导库李树春张永