试卷总分:100分



编程题 5题 100分

01 02 03 04 05

E844 电子学会青少年软件编程等级考试-C++ -CIE-202512-C++三级真题-考试

编程题 共5道

01

密文匹配


你有两段密文 s 和 t,长度分别为 n 和 m,且 n≤m。请判断 s 在 t 中的位置关系,并输出对应编号:

若 s 同时出现在 t 的开头和结尾,输出 0

若 s 仅出现在开头,输出 1

若 s 仅出现在结尾,输出 2;

若 s 既不在开头也不在结尾,输出 3;

其中,“出现在开头”指 t 的前 n 个字符与 s 完全相同;“出现在结尾”指 t 的后 n 个字符与 s 完全相同。

输入

第一行:两个整数表示n m

第二行:字符串s

第三行:字符串t

输出

输出一个数字表示结果

数据范围

1≤n≤m≤100字符串均为小写字母

输入样例1

3 6

abc

abcdef

输出样例1
1
输入样例2

3 4

abc

cabc

输出样例2
2
输入样例3

3 3

ccc

ccc

输出样例3
0
输入样例4

3 3

abc

xyz

输出样例4
3
20分

C0382
登录后作答
02

比较


给定两个正整数 a,b,比较他们的大小。注意给定的整数可能非常大。

输入

第一行,整数a第二行,整数b。

输出

如果 a > b,输出 ">";

如果 a = b,输出 "=";

如果 a < b,输出 "<"。

数据范围

1≤a,b≤10^100,保证 a,b 均无前导零。

输入样例1
123
456
输出样例1
<
输入样例2

111111111111111111

99999999999999999

输出样例2
>
输入样例3

123456789123456789012345678901234567890

123456789123456789012345678901234567890

输出样例3
=
20分

C0383
登录后作答
03

移动坐标


在平面直角坐标系中,x 轴正方向为东,y 轴正方向为北。小蓝从点 (0,0) 出发,初始面向东方。给定一个长度为 n 的字符串 t,仅包含字符 S(直行)和 R(右转)。小蓝按顺序处理每个字符:

  • 若字符为 S,则朝当前方向前进 1 个单位长度;
  • 若字符为 R,则原地向右转 90∘,方向变化规则为:
  • 东 → 南
  • 南 → 西
  • 西 → 北
  • 北 → 东

请输出小蓝执行完所有指令后的坐标 (x,y)。

输入

第一行:整数n

第二行:字符串t

输出

两个整数 x y,用空格隔开

数据范围

1≤n≤10^5 ,t仅包含‘S’和‘R’

输入样例1

4

SSRS

输出样例1
2 -1
输入样例2

20

SRSRSSRSSSRSRRRRRSRR

输出样例2
0 1
20分

C0384
登录后作答
04

缺失的字母


你有一张写满小写字母的纸条 s。

请找出英文字母表a-z中,第一个没有在 s 中出现的字母。

如果所有 26 个字母都在 s 中出现过,请输出 -1。

输入

一个字符串 s

输出

一个小写字母或 -1

数据范围

1≤s长度≤10^5,s仅包含小写英文字母

输入样例1

xbymeskptcumtwrmkkinjxnnucagfrgfajsonlslfepbjtsaay

输出样例1
d
输入样例2

acdefghji

输出样例2
b
输入样例3

qazwsxedcrfvtgbyhnujmikolp

输出样例3
-1
20分

C0385
登录后作答
05

移动字符串


你有一个非空字符串 s,仅由小写字母组成。你可以对 s 进行两种操作:

左移:将第一个字符移到最后

右移:将最后一个字符移到最前

例如,字符串 "abcde" 左移一次得到 "bcdea",右移两次得到 "deabc"。

通过进行任意次(包括 0 次)左移或右移,你能得到许多不同的字符串。请找出其中字典序最小和字典序最大的字符串。

输入

一个字符串 s

输出

第一行:字典序最小的字符串

第二行:字典序最大的字符串

数据范围

1≤s长度≤1000,s仅包含小写英文字母

输入样例1
xyz
输出样例1

xxy

yxx

输入样例2
c
输出样例2
c
c
20分

C0386
登录后作答