Codeforces Round 543 (Div. 1, based on Technocup 2019 Final Round)
B
Once in a casino
Codeforces
2700
原题
← AC →
翻译中…

One player came to a casino and found a slot machine where everything depends only on how he plays. The rules follow.

翻译中…

A positive integer $a$ is initially on the screen. The player can put a coin into the machine and then add $1$ to or subtract $1$ from any two adjacent digits. All digits must remain from $0$ to $9$ after this operation, and the leading digit must not equal zero. In other words, it is forbidden to add $1$ to $9$, to subtract $1$ from $0$ and to subtract $1$ from the leading $1$. Once the number on the screen becomes equal to $b$, the player wins the jackpot. $a$ and $b$ have the same number of digits.

翻译中…

Help the player to determine the minimal number of coins he needs to spend in order to win the jackpot and tell how to play.

翻译中…

Input

翻译中…

The first line contains a single integer $n$ ($2 \le n \le 10^5$) standing for the length of numbers $a$ and $b$.

翻译中…

The next two lines contain numbers $a$ and $b$, each one on a separate line ($10^{n-1} \le a, b \lt 10^n$).

翻译中…

Output

翻译中…

If it is impossible to win the jackpot, print a single integer $-1$.

翻译中…

Otherwise, the first line must contain the minimal possible number $c$ of coins the player has to spend.

翻译中…

$\min(c, 10^5)$ lines should follow, $i$-th of them containing two integers $d_i$ and $s_i$ ($1\le d_i\le n - 1$, $s_i = \pm 1$) denoting that on the $i$-th step the player should add $s_i$ to the $d_i$-th and $(d_i + 1)$-st digits from the left (e. g. $d_i = 1$ means that two leading digits change while $d_i = n - 1$ means that there are two trailing digits which change).

翻译中…

Please notice that the answer may be very big and in case $c \gt 10^5$ you should print only the first $10^5$ moves. Your answer is considered correct if it is possible to finish your printed moves to win the jackpot in the minimal possible number of coins. In particular, if there are multiple ways to do this, you can output any of them.

翻译中…

Note

翻译中…

In the first example, we can make a +1 operation on the two first digits, transforming number $\textbf{22}3$ into $\textbf{33}3$, and then make a -1 operation on the last two digits, transforming $3\textbf{33}$ into $3\textbf{22}$.

翻译中…

It's also possible to do these operations in reverse order, which makes another correct answer.

翻译中…

In the last example, one can show that it's impossible to transform $35$ into $44$.

翻译中…

样例

Input #1
3
223
322
Output #1
2
1 1
2 -1
InputCopy OutputCopy
Input #2
2
20
42
Output #2
2
1 1
1 1
InputCopy OutputCopy
Input #3
2
35
44
Output #3
-1
InputCopy OutputCopy
题目信息
题号
1120B
时间限制
1 s
内存限制
256 MB
标签
构造
贪心
模拟
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。