AT_past17_k.正しいチェックディジット
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的字符串 S,由数字和 ? 组成。
请判断是否可以将每个 ? 替换为某个数字,使得下列值为 10 的倍数。如果可以,请给出一种替换方案。
- $\displaystyle \sum^{N}_{i=1} i \times $(将 S 的第 i 个字符视为一位整数)
输入格式
输入从标准输入读取,格式如下:
N S
输出格式
如果不存在满足条件的替换方案,输出一行 No。
否则,输出一种满足条件的替换方案,格式如下:
Yes T
第一行输出 Yes。
第二行输出字符串 T,它是将 S 中的 ? 替换为数字后得到的字符串,并满足题目中的条件。
输入输出样例
输入#1
5 935?0
输出#1
Yes 93550
输入#2
5 1?3?5
输出#2
No
输入#3
1 0
输出#3
Yes 0
说明/提示
样例解释 1
考虑将 935?0 的第 4 个字符 ? 替换成什么数字。
- 如果第 4 个字符
?替换为 5,得到字符串 T=93550。- 1×9+2×3+3×5+4×5+5×0=50,确实为 10 的倍数。
或者,也可以将第 4 个字符 ? 替换为 0,得到 93500,也满足条件。
样例解释 2
1?3?5 中有两个 ?,一共有 100 种替换方式,但没有任何一种可以满足题意。
样例解释 3
虽然字符串 0 中不包含任何 ?,但 1×0=0,本身就是 10 的倍数。
数据范围
- N 满足 1≤N≤2×105。
- S 是一个长度为 N 的、由数字和
?组成的字符串。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?