第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem A. Mex Query-题解
Posted Tisfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem A. Mex Query-题解相关的知识,希望对你有一定的参考价值。
传送门
Problem A. Mex Query
Problem B. Nim Game
Problem C. icebound 的账单
Problem G. 520
Problem H. 神殿
Problem J. icebound 的商店
Problem K. Bitmap
哈希讲解
二维哈希讲解
Problem L. 跑图
文章目录
Problem A. Mex Query
Time Limit: 1000ms
Memory Limit: 65536KB
Description
Given
n
n
n non-negative integers, please find the least non-negative integer that doesn’t
occur in the
n
n
n numbers.
Input
The first line is an integer
n
n
n.
The second line are
n
n
n non-negative integers
a
i
a_i
ai.
1
≤
n
≤
1
0
3
,
0
≤
a
i
≤
1
0
3
1\\leq n\\leq 10^3, 0\\leq a_i\\leq 10^3
1≤n≤103,0≤ai≤103
Output
Output a line with the answer.
Sample Input
4
4 0 1 1
Sample Output
2
题目大意
给你 n n n个非负整数,问你最小的还没出现的非负整数是多少
解题思路
这是一道英文阅读题,可以用“桶”的思想。
建立一个数组 a [ 1010 ] a[1010] a[1010]初始值全为 0 0 0,每输入一个数 t t t就让 a [ t ] + + a[t]++ a[t]++。
全部输入后,从 0 0 0开始遍历,找到第一个为 0 0 0的数即可。
AC代码
#include<bits/stdc++.h>
using namespace std;
int a[1010]={0};
int main()
{
int n;
cin>>n;//n个数
while(n--)
{
int t;
cin>>t;
a[t]++;
}
for(int i=0;i<=1000;i++)
{
if(!a[i])//a[i]=0,即说明i没有出现过
{
cout<<i<<endl;
return 0;
}
}
return 0;
}
原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/116500677
以上是关于第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem A. Mex Query-题解的主要内容,如果未能解决你的问题,请参考以下文章
第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem G. 520-题解
第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem K. Bitmap-题解
第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem C. icebound 的账单-题解
第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem J. icebound 的商店-题解