// PascalABC.NET 3.1, сборка 1256 от 21.06.2016 begin Writeln('Введи две строки'); ReadArrString(2).Sorted.Println(NewLine); end.
Тестовое решение Введи две строки Это первая из введенных строк Это вторая из введенных строк Это вторая из введенных строк Это первая из введенных строк
Обозначим количество попасть обратно в начальную вершину за n прыжков как A(n), а количество попасть в одну из двух других вершин как B(n) (очевидно, количество одинаково для обеих вершин). Тогда:
A(n) = 2*B(n-1) {находясь в одной из двух не-начальных вершин после n-1 прыжка, лягушка прыгает в начальную вершину} B(n) = A(n-1) + B(n-1) {лягушка прыгает либо из начальной, либо другой не-начальной}
A(1) = 0 B(1) = 1
Далее по формулам A B - n 0 1 - 1 2 1 - 2 2 3 - 3 6 5 - 4 10 11 - 5 22 21 - 6 42 43 - 7 86 85 - 8 170 9
Обозначим количество попасть обратно в начальную вершину за n прыжков как A(n), а количество попасть в одну из двух других вершин как B(n) (очевидно, количество одинаково для обеих вершин). Тогда:
A(n) = 2*B(n-1) {находясь в одной из двух не-начальных вершин после n-1 прыжка, лягушка прыгает в начальную вершину} B(n) = A(n-1) + B(n-1) {лягушка прыгает либо из начальной, либо другой не-начальной}
A(1) = 0 B(1) = 1
Далее по формулам A B - n 0 1 - 1 2 1 - 2 2 3 - 3 6 5 - 4 10 11 - 5 22 21 - 6 42 43 - 7 86 85 - 8 170 9
begin
Writeln('Введи две строки');
ReadArrString(2).Sorted.Println(NewLine);
end.
Тестовое решение
Введи две строки
Это первая из введенных строк
Это вторая из введенных строк
Это вторая из введенных строк
Это первая из введенных строк