CF852A Digits

题目描述

John 给了 Jack 一道非常难的问题。他在一张纸上写下了一个非常大的正整数 $A_{0}$,这个数小于 $10^{200000}$。每一步操作中,Jack 可以在当前数字的某些数字之间(也可以不加)插入 $'+'$ 号,然后计算该表达式的和。对得到的和,也可以进行同样的操作,如此进行下去。结果的和依次记作 $A_{1}$、$A_{2}$ 等。他的任务是让最终结果变成一位数。 问题在于纸上的空白很有限。只有三行可用空间,所以他最多只能进行三步操作。由于他想把纸完全写满,他必须恰好进行三步操作。 Jack 不能给中间结果添加前导零,但他可以在数字 $0$ 前面加上 $'+'$ 号。例如,如果当前数字是 $1000100$,那么 $10+001+00$ 是一个有效的操作,结果是 $11$。

输入格式

第一行包含一个正整数 $N\ (1 \leq N \leq 200000)$,表示 $A_{0}$ 的位数。 第二行包含一个长度为 $N$ 的字符串,表示正整数 $A_{0}$。每个字符都是数字。不会有前导零。

输出格式

输出恰好三行,分别表示 Jack 每一步需要做的操作,以解决这个问题。你可以输出任何能得到一位数结果(并且逻辑自洽)的操作序列。 每一步操作由数字和 $'+'$ 号组成。操作中不能有连续的 $'+'$ 号、空格、也不能以 $'+'$ 号开头或结尾。每一步的结果在算术上必须正确。 答案可能不唯一。在这种情况下,输出任意一种方案即可。

说明/提示

在第一个样例中,Jack 无法插入 $'+'$ 号,所以每行都只能写 $1$,只有这一种方案。 在第二个样例中,Jack 首先在每两个相邻数字之间添加 $'+'$ 号,得到 $5+8+0+6=19$。第二步同样处理,得到 $1+9=10$。再来一次,得到 $1+0=1$。经过三步后,结果是一位数 $1$,解答是正确的。 由 ChatGPT 5 翻译