CCF GESP 2025年12月认证 C++ 3级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
密码强度
时间限制:1s 内存限制:512MB

题目描述

小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件:

  • 密码至少包含 8 个字符(太短的密码容易被猜出来哦!)。
  • 密码至少包含一个大写字母(A、B、C、...、Z都可以)。
  • 密码至少包含一个数字(0、1、2、3、...、9 都可以)。

例如:

  • 密码PAs1s2an是安全密码(有8位、包含大写字母 P、A 和数字 1、2)。
  • 密码ab1da3cd不是安全密码(没有大写字母)。
  • 密码Paabdbcd不是安全密码(没有数字)。
  • 密码Pa2不是安全密码(只有 3 位,太短了)。

输入格式

第一行一个正整数 T,代表需要安全检测的密码组数。

对于每组密码,一行包含一个字符串,代表需要安全检测的密码。

输出格式

对于每组密码,输出一行,如果满足强度要求输出 Y,否则输出 N。

样例说明

样例 1

输入:
6
PAs1s2an
1a2bCql3
Pa12bsna
ab1da3cd
Paabdbcd
Pa2
输出:
Y
Y
Y
N
N
N
样例解释:
  • 密码PAs1s2an是安全密码(有8位、包含大写字母P、A 和数字1、2)。
  • 密码1a2bCql3是安全密码(有8位、包含大写字母C 和数字1、2、3)。
  • 密码Pa12bsna是安全密码(有8位、包含大写字母P 和数字1、2)。
  • 密码ab1da3cd不是安全密码(没有大写字母)。
  • 密码Paabdbcd不是安全密码(没有数字)。
  • 密码Pa2不是安全密码(只有3位,太短了)。

数据范围

对于所有测试点,保证 1 ≤ T ≤ 100,并且每组密码长度不超过 100 且至少为 1,每组密码仅由大小写字母和数字组成。

第 2 题
小杨的智慧购物
时间限制:1s 内存限制:512MB

题目描述

小杨的班级要举办一个环保手工作品展览,老师请小杨去文具店购买M种不同的文具(例如:铅笔、橡皮、尺子等)。

商店里共有 N 件文具,每件文具都有一个种类编号(从 1 到 M)和价格。

小杨的预算有限,他想了一个聪明的办法:对于每种文具,他只买最便宜的那一件(如果同种文具有多件价格相同且都是最便宜的,他只会购买其中的一件)。请你帮小杨计算出,买齐这 M 种文具一共需要花费多少钱。

输入格式

第一行两个正整数 M,N,代表文具的种类数和总数。

之后 N 行,每行两个正整数 $K_i$ 和 $P_i$,分别代表第 i 件文具的种类编号和它的价格。数据保证每个种类至少有一件文具可供购买。

输出格式

输出一行,代表购买文具的总价。

样例说明

样例 1

输入:
2 5
1 1
1 2
1 1
2 3
2 10
输出:
4
样例解释:

文具清单如下:

  • 文具 1:种类 1,价格 1
  • 文具 2:种类 1,价格 2
  • 文具 3:种类 1,价格 1
  • 文具 4:种类 2,价格 3
  • 文具 5:种类 2,价格 10

小杨的选择过程:

对于种类1:有三件商品,价格分别为1,2,1。其中最便宜的价格是1。

对于种类2:有两件商品,价格分别为3,10。其中最便宜的价格是3。

计算总价:小杨购买这两类文具的总花费为1+3=4。

数据范围

对于所有测试点,保证 $1 ≤ M ≤ N ≤ 10^5,1 ≤ K_i ≤ M,1 ≤ P_i ≤ 10^3$。

编程题部分已到底了。