作业介绍
周日第一次测试题
A、Glass and Mug
题目描述
高桥君各有一个容量为 毫升的玻璃杯和一个容量为 毫升的马克杯。
这里, 满足 。
最初,玻璃杯和马克杯都是空的。
请你求出经过 次如下操作后,玻璃杯和马克杯中分别有多少毫升的水。
- 如果玻璃杯已装满水,即玻璃杯中正好有 毫升,则将玻璃杯中的水全部倒掉。
- 否则,如果马克杯是空的,则将马克杯装满水。
- 如果以上两种情况都不满足,则从马克杯向玻璃杯倒水,直到马克杯为空或玻璃杯装满为止。
输入格式
输入从标准输入中给出,格式如下:
输出格式
请输出经过 次操作后,玻璃杯和马克杯中分别有多少毫升的水,用空格分隔,按此顺序输出。
输入输出样例 #1
输入 #1
5 300 500
输出 #1
200 500
输入输出样例 #2
输入 #2
5 100 200
输出 #2
0 0
说明/提示
限制条件
- 均为整数
样例解释 1
操作按如下顺序进行。最初,玻璃杯和马克杯都是空的。
- 将马克杯装满水。此时玻璃杯有 毫升,马克杯有 毫升。
- 从马克杯向玻璃杯倒水,直到玻璃杯装满。此时玻璃杯有 毫升,马克杯有 毫升。
- 将玻璃杯中的水全部倒掉。此时玻璃杯有 毫升,马克杯有 毫升。
- 从马克杯向玻璃杯倒水,直到马克杯为空。此时玻璃杯有 毫升,马克杯有 毫升。
- 将马克杯装满水。此时玻璃杯有 毫升,马克杯有 毫升。 因此,经过 次操作后,玻璃杯有 毫升,马克杯有 毫升。 所以输出 。
B、 Typing
题目描述
高桥君打算在键盘上输入一个由小写英文字母组成的字符串 。
高桥君在打字时只看着键盘,没有看屏幕。
每当他误输入了另一个小写英文字母时,他会立刻按下退格键,但由于退格键坏了,误输入的字符并没有被删除,实际输入的字符串变成了 。
此外,他不会误按除小写英文字母以外的其他键。
我们将 中不是高桥君误输入的字符称为正确输入的字符。
请回答这些正确输入的字符分别是 的第几个字符。
输入格式
输入以以下格式从标准输入读入。
输出格式
设 的长度为 ,若正确输入的字符分别是 的第 个字符,请按顺序输出 ,用空格分隔。
输出要求升序,即对于每个 ,都有 。
输入输出样例 #1
输入 #1
abc
axbxyc
输出 #1
1 3 6
输入输出样例 #2
输入 #2
aaaa
bbbbaaaa
输出 #2
5 6 7 8
输入输出样例 #3
输入 #3
atcoder
atcoder
输出 #3
1 2 3 4 5 6 7
说明/提示
限制条件
- 均为长度在 到 之间的仅由小写英文字母组成的字符串。
- 是按照题目描述的过程得到的字符串。
样例解释 1
高桥君的打字过程如下:
- 输入
a。 - 想输入
b,但误输入了x。 - 按下退格键,但字符未被删除。
- 输入
b。 - 想输入
c,但误输入了x。 - 按下退格键,但字符未被删除。
- 想输入
c,但误输入了y。 - 按下退格键,但字符未被删除。
- 输入
c。
正确输入的字符是第 个字符。
样例解释 3
高桥君没有误输入任何字符。
C、 Find Multiple
题目描述
请输出一个在 以上 以下的 的倍数。
如果不存在满足条件的数,则输出 。
输入格式
输入以以下格式从标准输入给出。
输出格式
请输出答案。
如果不存在满足条件的数,则输出 。
输入输出样例 #1
输入 #1
123 456 100
输出 #1
200
输入输出样例 #2
输入 #2
630 940 314
输出 #2
-1
说明/提示
限制条件
- 输入均为整数
样例说明 1
300 或 400 也是正确答案。
D、# Fair Candy Distribution
题目描述
高桥王国有 名国民。每位国民都有一个国民编号,第 位国民的编号为 。这里, 互不相同。
高桥君手上有 个糖果。他决定按照以下规则分发糖果,直到糖果分完为止:
- 如果手上的糖果数量不少于 ,则每人分发 个糖果。
- 否则,设此时高桥君手上的糖果数量为 ,则从国民编号最小的 个人中,每人分发 个糖果。更严格地说,从 值较小的 个人中选出,每人分发 个糖果。
请问,当所有糖果分发完毕后,第 位国民最终获得了多少个糖果?
输入格式
输入以如下格式从标准输入读入。
输出格式
输出 行。第 行输出第 位国民获得的糖果数量。
输入输出样例 #1
输入 #1
2 7
1 8
输出 #1
4
3
输入输出样例 #2
输入 #2
1 3
33
输出 #2
3
输入输出样例 #3
输入 #3
7 1000000000000
99 8 2 4 43 5 3
输出 #3
142857142857
142857142857
142857142858
142857142857
142857142857
142857142857
142857142857
说明/提示
限制条件
- 互不相同。
- 输入均为整数。
样例解释 1
高桥君按照如下步骤分发糖果:
- 每人分发 个糖果后,手上剩余 个糖果。
- 每人再分发 个糖果后,手上剩余 个糖果。
- 每人再分发 个糖果后,手上剩余 个糖果。
- 给编号最小的第 位国民分发 个糖果后,糖果分完。 最终,第 位国民获得 个糖果,第 位国民获得 个糖果。
样例解释 2
由于只有 位国民,高桥君会把所有糖果都分给第 位国民。
附加题: Perfect Standings
AT_abc384_c [ABC384C]
题目描述
高桥君决定举办一场编程竞赛。
竞赛包含 道题目,分别为 A 问题、B 问题、C 问题、D 问题、E 问题,每道题目的分值分别为 分、 分、 分、 分、 分。
本次竞赛共有 名参赛者,且每位参赛者都至少解答了一道题目。
更具体地说,对于字符串 ABCDE 的所有非空(不一定连续)子序列,均存在一位以该子序列为名字的参赛者,该参赛者仅解答名字中包含的题目,其余题目未解答。
例如,A 选手只解答了 A 问题,BCE 选手解答了 B 问题、C 问题和 E 问题。
请按参赛者获得的总分从高到低输出他们的名字。如果有多位参赛者获得相同的分数,则按名字的字典序从小到大输出。
字典序较小的定义如下:字典序即单词在字典中出现的顺序。
更严格地说,对于由大写英文字母组成的不同字符串 , 的字典序小于 当且仅当,满足以下两个条件之一:
- 的长度 小于 的长度,且 的前 个字符与 完全一致;
- 存在整数 ,使得以下两个条件同时成立:
- 对于所有 , 的第 个字符等于 的第 个字符;
- 的第 个字符在字母表中小于 的第 个字符。
例如, AB, ABC,满足第一个条件,因此 的字典序小于 。又如, ABD, ACD,在 时满足第二个条件,因此 的字典序小于 。
输入格式
输入包含一行,包含 、、、、 五个整数。
输出格式
请输出 行,第 行()输出第 高分的参赛者的名字。如果有多位参赛者获得相同分数,则按名字字典序从小到大输出。
输入输出样例 #1
输入 #1
400 500 600 700 800
输出 #1
ABCDE
BCDE
ACDE
ABDE
ABCE
ABCD
CDE
BDE
ADE
BCE
ACE
BCD
ABE
ACD
ABD
ABC
DE
CE
BE
CD
AE
BD
AD
BC
AC
AB
E
D
C
B
A
输入输出样例 #2
输入 #2
800 800 900 900 1000
输出 #2
ABCDE
ACDE
BCDE
ABCE
ABDE
ABCD
CDE
ACE
ADE
BCE
BDE
ABE
ACD
BCD
ABC
ABD
CE
DE
AE
BE
CD
AC
AD
BC
BD
AB
E
C
D
A
B
输入输出样例 #3
输入 #3
128 256 512 1024 2048
输出 #3
ABCDE
BCDE
ACDE
CDE
ABDE
BDE
ADE
DE
ABCE
BCE
ACE
CE
ABE
BE
AE
E
ABCD
BCD
ACD
CD
ABD
BD
AD
D
ABC
BC
AC
C
AB
B
A
说明/提示
数据范围
- 输入均为整数
样例解释 1
每位参赛者的得分如下所示。

例如,ADE 选手和 BCE 选手获得了相同的分数,但由于 ADE 的名字字典序更小,请先输出 ADE。
由 ChatGPT 4.1 翻译
- 状态
- 已结束
- 题目
- 7
- 开始时间
- 2025-9-7 0:00
- 截止时间
- 2025-9-15 23:59
- 可延期
- 24 小时