CCF GESP 2024年6月认证 C++ 5级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
黑白格
时间限制:1s 内存限制:512MB

题目描述

小杨有一个 $n$ 行 $m$ 列的网格图,其中每个格子要么是白色,要么是黑色。

小杨想知道至少包含 $k$ 个黑色格子的最小子矩形包含了多少个格子。

输入格式

第一行包含三个正整数 $n,m,k$,含义如题面所示。

之后 $n$ 行,每行⼀个长度为 $m$ 的 $\texttt{01}$ 串,代表网格图第 $i$ 行格子的颜色,如果为 $\texttt{0}$,则对应格子为白色,否则为黑色。

输出格式

输出一个整数,代表至少包含 $k$ 个黑色格子的最小子矩形包含格子的数量,如果不存在则输出 $0$。

样例说明

样例 1

输入:
4 5 5
00000
01111
00011
00011
输出:
6
样例解释:

对于样例 1,假设 (i,j) 代表第 i 行第 j 列,至少包含 5 个黑色格子的最小子矩形的四个顶点为 (2,4),(2,5),(4,4),(4,5),共包含 6 个格子。

数据范围

对于全部数据,保证有 $1\le n,m\le 100$,$1\le k\le n\times m$。

第 2 题
小杨的幸运数字
时间限制:1s 内存限制:512MB

题目描述

小杨认为他的幸运数字应该恰好有两种不同的质因子,例如,$12=2\times 2\times 3$ 的质因子有 $2,3$,恰好为两种不同的质因子,因此 $12$ 是幸运数字,而 $30=2\times3\times5$ 的质因子有 $2,3,5$,不符合要求,不为幸运数字。

小杨现在有 $n$ 个正整数,他想知道每个正整数是否是他的幸运数字。

输入格式

第一行包含一个正整数 $n$,代表正整数个数。

之后 $n$ 行,每行一个正整数。

输出格式

输出 $n$ 行,对于每个正整数,如果是幸运数字,输出 $1$,否则输出 $0$。

样例说明

样例 1

输入:
3
7
12
30
输出:
0
1
0
样例解释:

7 的质因子有 7,只有一种。

12 的质因子有 2,3,恰好有两种。

30 的质因子有 2,3,5,有三种。

数据范围

对于全部数据,保证有 $1\leq n\leq 10^4$,每个正整数 $a_i$ 满足 $2\leq a_i\leq 10^6$。

编程题部分已到底了。