1582: Розділити число

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 18,00 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Числовий рядок, є прекрасним, якщо його можна роздiлити на послiдовнiсть з двох чи бiльше натуральних чисел ~a_1, a_2, ..., a_n~, якi вiдповiдають наступним умовам:

  • ~a_i - a_{i-1} = 1~ для будь-якого ~1 < i \le n~ (тобто, кожен елемент у послiдовностi бiльший на 1, нiж попереднiй).

  • ~a_i~ не мiстить провiдних нулiв. (не може бути такого розбиття 02, 03)

  • Послiдовнiсть цифр не можна змiнювати неможливо змiнити.

На схемi нижче зображенi декiлька прекрасних рядкiв:

Ваша програма повинна давати вiдповiдi на запити: чи є прекрасним черговий рядок?

Формат вхiдних даних

Перший рядок мiстить цiле число ~q~ ~(1 \le q \le 10)~ - кiлькiсть запитiв.

Наступнi ~q~ рядкiв мiстять один запит - числовий рядок ~S~ ~(1 \le |S| \le 32)~, який мiстить лише цифри 0..9

Формат вихiдних даних

Якщо рядок прекрасний, то вивести Yes та найменше перше число послiдовностi ~a_1~; в iншому випадку вивести No

Приклад вхідних даних

7
1234
91011
99100
101103
010203
13
1

Приклад вихідних даних

YES 1
YES 9
YES 99
NO
NO
NO
NO

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.