AT_past19_c.良さそうな数

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

一个好数定义如下:

  • 当且仅当一个正整数 xx 满足以下条件时,称其为好数:
    • xx 的每一对相邻数字的差的绝对值不超过 11。
    • 形式化地说,若 xx 有 kk 位,十进制表示为 d1d2…dkd_1d_2\dots d_k,则对所有 1≤i<k1 \le i < k,都有 ∣di−di+1∣≤1|d_i - d_{i+1}| \le 1。

例如,1,56,777,32341, 56, 777, 3234 是好数,但 13,1235,90913, 1235, 909 不是好数。

一个接近好数定义如下:

  • 当且仅当可以通过至多修改 xx 的至多一位数字,使其成为好数时,称其为接近好数。此处不允许产生前导零。
    • 形式化地说,若 xx 有 kk 位,十进制表示为 d1d2…dkd_1d_2\dots d_k,那么存在整数对 (p,q)(p, q),满足:
      • 1≤p≤k1 \le p \le k,
      • 0≤q≤90 \le q \le 9,
      • (p,q)≠(1,0)(p, q) \neq (1, 0),
      • 将 xx 的第 pp 位 dpd_p 修改为 qq 后,xx 变为一个好数。
    • 注意,每个好数也是接近好数。

例如,对于 71767176,可以将 d2d_2 改为 88 变成 78767876,这是一个好数,因此 71767176 是接近好数。

给定一个整数 NN,判断 NN 是否是接近好数。

输入格式

输入包含一行:

NN

输出格式

如果 NN 是接近好数,输出 Yes,否则输出 No。

输入输出样例

  • 输入#1

    7176

    输出#1

    Yes
  • 输入#2

    2020

    输出#2

    No
  • 输入#3

    3728

    输出#3

    No
  • 输入#4

    987654321012345678

    输出#4

    Yes

说明/提示

样例解释 1

此例同题目描述中的例子。

样例解释 2

20202020 不是接近好数。

样例解释 4

NN 可能超过 3232 位有符号整数的范围。同时,NN 本身也可能就是好数。

数据范围

  • NN 是一个整数,满足 1≤N<10181 \le N < 10^{18}。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页