2025年6月电子学会青少年软件编程(C语言)等级考试试卷(七级)
=======================================================================
答案和更多内容请查看网站:【试卷中心 -----> 电子学会 ----> C/C++ ---->七级】
网站链接
青少年软件编程历年真题模拟题实时更新
=======================================================================
编程题
第 1 题 子序列
题目描述
给定两个整数序列,第一个序列长度为 n,第二个序列长度为 m。请问,这两个序列有多少种公共的子序列?输出数量模 998244353 的余数。
所谓子序列,是指从原序列中选择部分或全部元素组成新序列,这些元素在原序列中不必连续,但要保持在原序列中的顺序。只要下标不同,哪怕数字相同,也要算成不同的子序列。
输入格式
第一行:两个整数表示 n 与 m;
第二行: n 个数字 a1,a2,... ,an;
第三行:m 个数字 b1,b2,... ,bm;
输出格式
单个整数表示答案。
输入样例
4 3
3 4 6 2
3 3 2
输出样例
6
说明提示
1≤n,m≤2000
1≤ai,bj≤100,000
第 2 题 逻辑表达式
题目描述
给定一个逻辑表达式,以运算符做前缀的形式给出。它包含三种运算符:&、|、^:
& 表示逻辑与运算
| 表示逻辑或运算
^ 表示逻辑异或运算
表达式还包含三种基本逻辑值:0、1、?。
每个 ? 必须赋值成为 0 或 1 中的一种,请问有多少种不同的赋值方式,可以让整个逻辑表达式的值为 0?
由于答案可能很大,请输出方案数模1,000,000,007 的余数。
前缀表达式的定义如下:
0、1、? 都是前缀表达式;
如果 x,y 都是前缀表达式,则 &xy、|xy、^xy 都是前缀表达式;
不满足以上两条规则的表达式都不是前缀表达式。
输入格式
单个字符串表示输入的前缀表达式
输出格式
单个整数:表示答案模 1,000,000,007 的余数。
输入样例#1
&??
输出样例#1
3
输入样例#2
||??|||?^?|0|1&???|??
输出样例#2
4
输入样例#3
|?^?|0|&??||?^?|1??
输出样例#3
64
说明提示
设 ∣s∣表示输入字符串的长度
50%的数据,1≤∣s∣<1,000
100%的数据,1≤∣s∣<200,000
=======================================================================
答案和更多内容请查看网站:【试卷中心 -----> 电子学会 ----> C/C++ ---->七级】
网站链接
青少年软件编程历年真题模拟题实时更新
=======================================================================