首页 > 编程语言 >GESP C++三级真题 (2023年3月):春游,密码合规检测

GESP C++三级真题 (2023年3月):春游,密码合规检测

时间:2024-09-06 16:52:57浏览次数:13  
标签:同学 输出 真题 int C++ 用例 密码 2023 输入

春游

题目描述

老师带领同学们春游。已知班上有N位同学,每位同学有从0到N-1的唯一编号。到了集合时间,老师确认是否所有同学都到达了集合地点,就让同学们报出自己的编号。到达的同学都会报出的编号,不会报出别人的编号,但有的同学很顽皮,会多次报出。你能帮老师找出有哪些同学没有到达吗?


输入描述
输入包含2行。第一行包含两个整数N和M,表示班级有N位同学,同学们共有M次报出编号。约定2 N,M 1000第二行包含M个整数,分别为M次报出的编号。约定所有编号都在合理范固内。


输出描述
输出一行。如果所有同学都到达,则输出N;否则由小到大输出所有未到达的同学编号,空格分隔。

用例输入1

3 3
0 2 1


用例输出1

3

用例输入2

3 5
0 0 0 0 0

用例输出2

1 2

代码

#include <bits/stdc++.h>
using namespace std;
int a[1005];
int main() {
    int n, m;
    cin>> n >> m; 
    bool flag = 1;
    for(int i = 1;i <= m;i++){
        int f;
        cin >> f;
        a[f]++;
    }
    for (int i = 0;i < n;i++){
        if (a[i] == 0){
            flag = 0;
            cout << i << " ";
        }
    }
    if(flag == 1){
        cout << n;
    }
    return 0;
}

知识点:枚举算法

密码合规检测

网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。合规的
密码应满足以下要求:1、只能由a-z之间26个小写字母、A-Z之间26个大写字母、0-9之间10个数字以及!@# $四个特殊字符构成。

2、密码最短长度: 6个字符,密码最大长度: 12个字符。
3、大写字母、小写字母和数字必须至少有其中两种,以及至少有四个特殊字符中的一个。


输入描述
输入一行不含空格的字符串。约定长度不超过100。该字符串被英文逗号分隔为多段,作为多组被检测密码。


输出描述
输出若干行,每行输出一组合规的密码
输出顺序以输入先后为序,即先输入则先输出。


用例输入

seHJ12!@,sjdkffH$123,sdf!@&12HDHa!,123&^YUhg@!


用例输出

seHJ12!@
sjdkffH$123

代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin >> s;
    s += ',';
    string n;
    for(int i = 0;i < s.size();i++){
        if(s[i] != ','){
            n += s[i];
        }else{
            bool flag = true;
            for(int i = 0;i < n.size();i++){
                if(!(n[i] >= 'a' && n[i] <= 'z' || n[i] >= 'A' && n[i] <= 'Z' || n[i] >= '0' && n[i] <= '9' || n[i] == '@' || n[i] == '!' || n[i] == '#' || n[i] == '$')){
                    flag = false;
                }
            }
            if(flag && n.size() >= 6 && n.size() <= 12){
                cout << n << endl;
            }
            n = "";
        }
    }
    return 0;
}

 知识点:字符串

标签:同学,输出,真题,int,C++,用例,密码,2023,输入
From: https://blog.csdn.net/fang131216/article/details/141963079

相关文章

  • C++创建与调用dll动态链接库(MinGW64 Dev-C++)
    本文使用的是dev-c++,如果涉及到VC++中不一样的操作,也会适当进行区分。项目一:创建DLL1、创建一个DLL类型的项目,当前命名为dlltest,并选择合适的路径进行保存。 2、在生成的预设置代码中,加入如下代码//这是头文件dll.h#ifndef_DLL_H_#define_DLL_H_#ifBUILDING_DLL#de......
  • 【C++】简单易懂的vector迭代器
    一、迭代器的本质vector的迭代器本质上就是一个被封装的指针。迭代器的用法和指针的用法十分相似,就是一个像指针的假指针,我们不妨把迭代器看作一个伪指针。二、迭代器的使用句式(可以看到迭代器和指针很像):迭代器有四种:1、正向迭代器:容器名<类型>::iterator迭代器名2、常......
  • [C++ Daily] 虚继承与虚析构带来的变化
    虚继承在菱形继承中,若Student和Teacher继承于Person,TS继承于Student和Teacher,则构造TS时会调用两次Person的Construct和Destruct函数,若为虚继承,则不会出现上述问题(此类问题主要解决继承带来的多次非法delete)原继承:结果:虚继承:结果:虚析构父......
  • 【C++从练气到飞升】20---RB树
     ......
  • C++编程开发和指针的关系
      指针C/C++windows编程平台的使用使用很多。C++程序设计语言和Java程序设计语言是一样的标准开发语言。程序设计语言的开发类库发布之后会绑定相应的平台。现C++程序设计语言的标准发布之后,使用比较多的图形接口类库是QT。 Java的编程系列是站Java企业级别开发的基础......
  • C++ 合成3/5法则时可能定义为删除的情况
    如果我们未定义拷贝控制成员,编译器会为我们合成;如一个类未定义构造函数,编译器会为我们合成一个默认的构造函数。合成拷贝控制成员可能是删除的情况:如果类中有成员的析构函数是删除的或不可访问的(private):a.则类的合成析构函数被定义为删除的;b.则合成拷贝构造函数被定义为......
  • 信奥赛C++老师解一本通题:1938:【07NOIP普及组】奖学金
    ​【题目描述】某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排......
  • 信奥赛C++老师解一本通题: 1180:分数线划定
    ​ 【题目描述】世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手......
  • 怎样用c++实现一个vector类
    给定的任务是用C++实现一个类,这个类的行为要和标准库中的Vector类一样。向量(Vector)就像动态数组一样,当插入或删除一个元素时,它能够自动调整自身大小,其存储由容器自动管理。vector中的元素被放置在连续的存储空间中,这样就可以使用迭代器来访问和遍历它们。在向量中,数据是在末尾插......
  • 【C++编程题】格雷码与自然二进制码转换
        格雷码是数字信号处理中常用编码方式。格雷码中任意两个相邻代码的二进制位中只有一位不同,对于最大编码和最小编码也成立。1.异或法转换1.1二进制码转格雷码二进制码转格雷码[1]1)将二进制最高位保留;2)对于二进制码中剩余的任意第i位,将其与......