2020牛客寒假算法基础集训营1——D.hanayo和米饭【签到题】

题目传送门


题目描述

hanayo很喜欢吃米饭。
有一天,她拿出了 n n 个碗,第一个碗装了 1 1 粒米饭,第二个碗装了 1 1 粒米饭,以此类推,第 n n 个碗装了 n n 粒米饭。
然而,爱搞恶作剧的rin把所有的碗的顺序打乱,并拿走了一个碗。hanayo想知道,rin拿走的碗里有多少粒米饭?


输入描述:

第一行输入一个正整数 n n 。代表原始的总碗数。
第二行输入 n 1 n-1 个正整数 a i a_i ,代表目前每碗里米饭数量。
保证输入合法。
( 2 < = n < = 100000 , 1 < = a i < = n ) (2<=n<=100000,1<=a_i<=n)


输出描述:

输出一个正整数,代表rin拿走的碗里米饭数量。


输入

5
2 5 1 3

输出

4

说明

开始共有5个碗,每个碗内分别有1、2、3、4、5粒米饭。rin拿走的是第四碗。这么简单的样例连tairitsu都看得懂好伐~


题解

  • 签到题。有多种方法可以做,最省事的方法是把每个数标记一下,然后遍历输出没标记的那个数就可以了。
  • c f 700 参考cf难度分:700

AC-Code

#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e5+7;
int a[maxn];
int main(){
    int n;
    while(cin >> n){
        for(int i = 1; i <= n - 1; ++i)    cin >> a[i];
        sort(a+1, a+n);
        for(int i = 1; i <= n - 1; ++i){
            if(i != a[i]){
                cout << i << endl;
                break;
            }
        }
    }
}
发布了157 篇原创文章 · 获赞 99 · 访问量 9826

猜你喜欢

转载自blog.csdn.net/Q_1849805767/article/details/104174486