天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > 陈博的完美主义

陈博的完美主义

时间:2022-02-01 13:26:14

相关推荐

陈博的完美主义

题目1375:陈博的完美主义(25分)

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:724

解决:179

题目描述:上一回合大家都知道,在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的排列。样例输入:

33 2 211

样例输出:

10

#include "stdio.h"#include <string>#include <iostream> #include <cstring>#include<stdlib.h>using namespace std;int n ;int i ;int t;int num[1000001];char x[1000];int main(){while(cin>>n){for(i = 0 ; i <1000001;i++){num[i]=0;}for(i = 0 ; i<n;i++){cin>>x;if(strlen(x)<=10) {t = atoi(x);if(t>=1&&t<=n)num[t]++;}}int need=0;for(i = 1 ; i<=n;i++){if(num[i]==0){need++;}}cout<<need<<endl;}return 0;}

题很简单,哈希就ok了。蛋疼,开始没考虑输入的数据会有小于0的情况,可能导致runtime error!!!!!考虑全面要

如果觉得《陈博的完美主义》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
陈博:健而不美

陈博:健而不美

2020-02-10

陈博云

陈博云

2021-09-25

陈博正

陈博正

2019-04-11

陈博民

陈博民

2021-12-14