Задача: пресичащи се редици
Имаме две редици:
- редица на Трибоначи (по аналогия с редицата на Фибоначи), където всяко число е сумата от предните три (при дадени начални три числа)
- редица, породена от числова спирала, дефинирана чрез обхождане като спирала (дясно, долу, ляво, горе, дясно, долу, ляво, горе и т.н.) на матрица от числа, стартирайки от нейния център с дадено начално число и стъпка на увеличение, със записване на текущите числа в редицата всеки път, когато направим завой
Да се напише програма, която намира първото число, което се появява и в двете така дефинирани редици.
Входни данни
Входните данни трябва да бъдат прочетени от конзолата.
- На първите три реда от входа ще се подават три цели числа, представляващи първите три числа в редицата на Трибоначи, положителни ненулеви числа, сортирани в нарастващ ред.
- На следващите два реда от входа, ще се подават две цели числа, представляващи първото число и стъпката за всяка клетка на матрицата за спиралата от числа. Числата, описващи спиралата, са положителни ненулеви.
Входните данни винаги ще бъдат валидни и винаги ще са в описания формат. Няма нужда да се проверяват.
Изходни данни
Резултатът трябва да бъде принтиран на конзолата.
На единствения ред от изхода трябва да принтирате най-малкото число, което се среща и в двете последователности. Ако няма число в диапазона [1 … 1 000 000], което да се среща и в двете последователности, принтирайте “No”.
Ограничения
- Всички числа във входа ще бъдат в диапазона [1 … 1 000 000].
- Позволено работно време за програмата: 0.3 секунди.
- Позволена памет: 16 MB.
Примерен вход и изход
Вход |
Изход |
Вход |
Изход |
Вход |
Изход |
1 2 3 5 2
|
37 |
13 25 99 5 2 |
13 |
99 99 99 2 2 |
No |
Вход |
Изход |
Вход |
Изход |
1 1 1 1 1 |
1 |
1 4 7 23 3 |
23 |