eolymp
bolt
Try our new interface for solving problems
Məsələlər

BFS (Binary Fibonacci String)

BFS (Binary Fibonacci String)

Мы знакомы с последовательностью Фибоначчи (\textbf{1}, \textbf{1}, \textbf{2}, \textbf{3}, \textbf{5}, \textbf{8}, ...). А что будет, если мы определим аналогичную последовательность для строк? Звучит интересно? Давайте посмотрим. Мы определим эту последовательность так: \textbf{BFS(0) = 0} \textbf{BFS(1) = 1} (здесь "\textbf{0}" и "\textbf{1}" являются строками, а не просто числами \textbf{0} или \textbf{1}) для всех (\textbf{n} > \textbf{1}) \textbf{BFS(n) = BFS(n - 2) + BFS(n - 1)} (здесь \textbf{+} обозначает операцию конкатенации). (то есть, \textbf{n}-я строка в этой последовательности представляет собой объединение двух предыдущих строк). Итак, первые несколько строк в этой последовательности такие: \textbf{0}, \textbf{1}, \textbf{01}, \textbf{101}, \textbf{01101} и так далее. Ваша задача: для каждой заданной \textbf{N}-й строки этой последовательности найти и вывести все её элементы с \textbf{i}-й по \textbf{j}-ю позицию включительно (все числа \textbf{N}, \textbf{i}, \textbf{j} нумеруются начиная с \textbf{0}). \InputFile Первая строка входного файла содержит целое число \textbf{T}\textit{ (}\textbf{T}\textit{ ≤ }\textbf{100}\textit{)}, указывающее общее количество тестов. Описание каждого теста приведено ниже: Три целых числа \textbf{N}, \textbf{i}, \textbf{j} (\textbf{0} ≤ \textbf{N}, \textbf{i}, \textbf{j} ≤ \textbf{2^31 - 1}) и (\textbf{i} ≤ \textbf{j} и \textbf{j-i} ≤ \textbf{10000}). Можно также предположить, что \textbf{i} и \textbf{j} будут индексами существующей элементов строки (т.е. \textbf{0} ≤ \textbf{i}, \textbf{j} < \textit{length} of \textbf{BFS(N)}). \OutputFile Для каждого заданного теста вывести искомую подстроку \textbf{BFS(N)} с \textbf{i}-го по \textbf{j}-й символ в отдельной строке.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
3
3 1 2
1 0 0
9 5 12
Çıxış verilənləri #1
01
1
10101101