2
02
3
年
徐州市中小学生程序设计大赛真题
第三届徐州市赛A题
题目描述
小玉最近迷上了9的倍数,请你编程帮他迅速判断输入的数是否是9的倍数?
输入
一行,一个整数m。
输出
一行,一个字符串,比如:Yes或No。
样例输入
9
样例输出
Yes
第三届徐州市赛
B
题
题目描述
小玉带了c元到文具店买笔。笔的价格为a元b角,请编程求出最多可买多少支笔,剩多少钱?
输入
一行,三个整数a、b、c。
输出
二行,第一行一个整数,表示最多买多少支笔。第二行,两个整数d、e,表示还剩d元e角。
注意:0 ≤ e ≤ 9
样例输入
1 1 100
样例输出
90
1 0
提示
0≤a≤5
0≤b≤9
0≤c≤10000
数据保证a、b不同时为零。
第三届徐州市赛
C
题
题目描述
如图所示,有一个n行m列的棋盘,从下往上依次标注为1~n行,自左向右依次标注为1~m列,棋盘的外围有一圈围墙。
有一只小乌龟初始在
sx
行
sy
列,头朝向左边。
小乌龟会做如下动作:
'A':表示原地逆时针旋转90度
'B':表示原地顺时针旋转90度
'C':向前走一格。注意:如果小乌龟已经在棋盘边缘(第一行、最后一行,第一列或最后一列),继续向棋盘外走,就会被墙挡住,则忽略此动作。
给定一个字符串表示乌龟的动作序列,请你编程求出乌龟最后的位置以及棋盘上还有多少个点是乌龟没有经过的?
输入
两行,第一行有四个整数n、m、
sx
、
sy
。(用空格隔开)
第二行,一个字符串,表示乌龟运作序列。(只包含'A', 'B', 'C'三个大写字母)
输出
两行,第一行输出两个整数
tx
,ty。(用空格隔开,表示乌龟最后停留在
tx
行 ty列)
第二行,一个整数。(表示棋盘还有多少个点乌龟没有经过)
样例输入
5 6 2 3
CACBCCCABBCC
样例输出
3 1
24
提示
3≤n,m≤100
1≤sx≤n,1≤sy≤m
运作序列的字符串长度不超过30000
样例说明:
初始方向向左,坐标(2 ,3)
向前走一格,方向向左,坐标(2 ,2 )
原地逆时针90度,方向向下,坐标(2 ,2 )
向前走一格,方向向下, 坐标(1 ,2 )
原地顺时针旋转90度,方向向左,坐标(1 ,2 )
向前走一格,方向向左,坐标(1 , 1 )
向前走一格,方向向左,撞墙,忽略,坐标(1 , 1 )
向前走一格,方向向左,撞墙,忽略,坐标(1 , 1 )
原地逆时针旋转90度,方向向下,坐标(1 ,1 )
原地顺时针旋转90度,方向向左,坐标(1 ,1 )
原地顺时针旋转90度,方向向上,坐标(1 , 1 )
向前走一格,方向向上,坐标(2 , 1 )
向前走一格,方向向上,坐标(3 , 1 )
最后坐标为(3 , 1 ),一共走到了(1 ,1 )、( 1 ,2)、( 2 , 1 )、( 2 ,2 )、( 2 ,3 )、( 3 , 1 ) 六个点,有 24 个点未走到。
第三届徐州市赛
D
题
题目描述
有四位学生在CSP2023活动中表现优异,T老师决定请他们吃烤串,以示鼓励。
一个巨大的烤串穿了n块肉,第
i
块肉的重量为
wi
。现在要将这个烤串分割成四个小烤串,每个小烤串至少有一个肉块。
小烤串的重量为该烤串上所有肉块重量的总和。
公平起见,要求四个小烤串分配到肉块的重量总和最大值与最小值的差最小。
若给定巨大烤串上有n块肉,且知道每块肉的总重量,请你编程求出如何分割才能使小烤串肉块的总重量的最大值与最小值之间的差最小,输出最小差值。
输入
第一行,一个正整数n。
第二行,有n个整数,第
i
个整数表示第
i
块肉的重量
wi
。
数据规模:
对于20%的数据,1≤n≤50
对于40%的数据,1≤n≤200
对于60%的数据,1≤n≤5000
对于80%的数据,1≤n≤200000
对100%的数据,1≤n≤5000000,1≤wi≤5000
输出
一行,一个整数,表示最优切割时最小差值。
样例输入
10
10 71 84 33 6 47 23 25 52 64
样例输出
36
第三届徐州市赛E题
题目描述
公司有n个员工,用1~n标号,1号为总经理。每个人的工作能力可用一整数表示,
i
号员工 工作能力为
w
i
。
除总经理除外,每个员工都有唯一的上司,第
i
个人的上司为 f
i
,n 个人构成一棵有根树,树根为 1。
现在,公司需要派遣团队出国工作,为了稳定团结,组团的规则如下:
对于任意一对被选中的员工 u、v,一定满足 v 是 u 的祖先或 u 是 v 的祖先。
对于任意一对被选择的员工u、v,如果 u 是 v 的祖先,则一定满足>
w
u
>
w
v
。
给定n个员工的上司与能力信息,求出所有合法方案中团队人数最大值。
输入
第一行,一个正整数n。
第二行,有n个整数。第
i
个整数为表示第
i
个人的工作能力值
w
i
。
下面还有 n
−
1 行,每有两个整数 v
i
,
u
i
,表示员工 v
i
是员工
u
i
的上司。
输出
一行,一个整数,表示团队人数的最大值。
样例输入
10
5 4 8 3 3 9 4 2 7 7
1 2
2 3
3 4
2 5
5 6
5 7
7 8
7 9
1 10
样例输出
4
提示
数据规模:
对20%的数据,1 ≤ n ≤20
另有10%的数据,员工
i
的上司是
i
- 1 ,1 ≤ n ≤ 5000
另有10%的数据,员工
i
的上司是
i
- 1 ,1 ≤ n ≤ 1e5
另有20%的数据,1 ≤ n ≤ 5000
对100%的数据,1 ≤ n ≤ 3e5 ,1 ≤
wi
≤ 1e9
2023年江苏徐州市中小学生程序设计大赛真题,2023年徐州市中小学生程序设计大赛C++真题