AT_arc007_4.[ARC007D] 破れた宿題
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君正在解答一道数学作业题,需要写出等差数列的初项和公差。
等差数列是指相邻两个数字之间的差为定值的数字序列,最前面的数字称为初项,数字间的定值称为公差,最后一个数字称为末项。
不过高桥君不小心把作业上的数列没有用空格或逗号分隔,而是直接作为一个由 0 到 9 组成的字符串抄在了笔记本上。
更糟糕的是,由于笔记本保存不当,笔记本的一部分被撕掉了。
被撕掉的部分只涉及初项和末项,但可以确认至少初项的一部分还保留着。
现在给定这样一个字符串,请你推测原来的等差数列,并输出其初项和公差。
初项和公差均为大于等于 1 的整数。如果有多个解,请输出初项最小的那个;如果初项相同,则输出公差最小的那个。
另外,像 003 或 012 这样前面带有多余 0 的数字不会出现在抄写下来的数列中。输入格式如下。
输入格式
输入仅一行,为等差数列的一部分,长度为 N 的字符串。
字符串仅由 0 到 9 的数字组成。
输出格式
请输出推测出的等差数列的初项和公差,用空格分隔。
如果有多个解,输出初项最小的那个;如果初项相同,输出公差最小的那个。
最后请输出换行符。
说明/提示
测试数据分为以下 4 种类型,每种类型的 N 取值范围如下。
只要能对某一类型的所有测试数据输出正确答案,即使对其他类型输出错误,也会获得部分分数。
- level1(25 分):1≤N≤4
- level2(25 分):1≤N≤6
- level3(25 分):1≤N≤200
- level4(25 分):1≤N≤1,000
例如:
1
1 1
- 也有可能只是一个数字,前后没有被截断,此时最小的初项是 1。
- 公差可以是任意正整数,但最小的公差是 1。
0203
10 10
- 02 不是合法数字,所以 2 不能作为初项。
- 初项 10 的 1 被截断,末项 30 的 0 被截断,原数列应为 102030。
456789101112131415
4 1
- 数列没有被截断,初项为 4,公差为 1。
579111315171921232
5 2
- 末项 25 的 5 被截断。
001131261391521651
100 13
- 初项 100 和末项 178 的一部分被截断。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?