CCF GESP 2024年9月认证 C++ 3级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
平衡序列
时间限制:1s 内存限制:512MB

题目描述

小杨有一个包含 $n$ 个正整数的序列 $a$。他认为一个序列是平衡的当且仅当存在一个正整数 $i$($1 \leq i < n$)使得序列第 $1$ 到第 $i$ 个数字的总和等于第 $i + 1$ 到第 $n$ 个数字的总和。

小杨想请你判断序列 $a$ 是否是平衡的。

输入格式

第一行包含一个正整数 $t$,表示测试用例组数。

接下来是 $t$ 组测试用例。对每组测试用例,一共两行。

第一行包含一个正整数 $n$,表示序列长度。

第二行包含 $n$ 个正整数,代表序列 $a$。

输出格式

对于每组测试用例,如果序列 $a$ 是平衡的,输出 $\texttt{Yes}$,否则输出 $\texttt{No}$。

样例说明

样例 1

输入:
3
3
1 2 3
4
2 3 1 4
5
1 2 3 4 5
输出:
Yes
Yes
No
样例解释:
  • 对于第一组测试用例,令 i=2,有 1+2=3,因此序列是平衡的。
  • 对于第二组测试用例,令 i=2,有 2+3=1+4,因此序列是平衡的。
  • 对于第三组测试用例,不存在满足要求的 i

数据范围

对于全部数据,保证有 $1≤t≤100,1≤n,a_i​≤10000$。

第 2 题
回文拼接
时间限制:1s 内存限制:512MB

题目描述

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,$\texttt{aabaa}$ 和 $\texttt{ccddcc}$ 都是回文串,但 $\texttt{abcd}$ 不是。

小杨有 $n$ 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 $2$ 的回文串前后拼接而成。

输入格式

第一行包含一个正整数 $n$,代表字符串数量。

之后 $n$ 行每行一个仅包含小写字母的字符串。

输出格式

对于每个字符串输出一行,如果该字符串由两个长度至少为 $2$ 的回文串前后拼接而成则输出 Yes,否则输出 No。

样例说明

样例 1

输入:
4
abcd
aabbb
aaac
abcdd
输出:
No
Yes
No
No
样例解释:

对于第 1,3,4 个字符串,都不是由两个长度至少为 2 的回文串前后拼接而成。

第 2 个字符串由回文串 aa 和 bbb 前后拼接而成,并且两个回文串长度都至少为 2。

数据范围

对于全部数据,保证有 1≤n≤10,且每个字符串的长度均不超过 100。

编程题部分已到底了。