AT_past19_c.良さそうな数
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
一个好数定义如下:
- 当且仅当一个正整数 x 满足以下条件时,称其为好数:
- x 的每一对相邻数字的差的绝对值不超过 1。
- 形式化地说,若 x 有 k 位,十进制表示为 d1d2…dk,则对所有 1≤i<k,都有 ∣di−di+1∣≤1。
例如,1,56,777,3234 是好数,但 13,1235,909 不是好数。
一个接近好数定义如下:
- 当且仅当可以通过至多修改 x 的至多一位数字,使其成为好数时,称其为接近好数。此处不允许产生前导零。
- 形式化地说,若 x 有 k 位,十进制表示为 d1d2…dk,那么存在整数对 (p,q),满足:
- 1≤p≤k,
- 0≤q≤9,
- (p,q)=(1,0),
- 将 x 的第 p 位 dp 修改为 q 后,x 变为一个好数。
- 注意,每个好数也是接近好数。
- 形式化地说,若 x 有 k 位,十进制表示为 d1d2…dk,那么存在整数对 (p,q),满足:
例如,对于 7176,可以将 d2 改为 8 变成 7876,这是一个好数,因此 7176 是接近好数。
给定一个整数 N,判断 N 是否是接近好数。
输入格式
输入包含一行:
N
输出格式
如果 N 是接近好数,输出 Yes,否则输出 No。
输入输出样例
输入#1
7176
输出#1
Yes
输入#2
2020
输出#2
No
输入#3
3728
输出#3
No
输入#4
987654321012345678
输出#4
Yes
说明/提示
样例解释 1
此例同题目描述中的例子。
样例解释 2
2020 不是接近好数。
样例解释 4
N 可能超过 32 位有符号整数的范围。同时,N 本身也可能就是好数。
数据范围
- N 是一个整数,满足 1≤N<1018。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?