eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Раздвоение

Раздвоение

Обозначим две последовательности действительных чисел \textbf{x}(\textbf{k}) и \textbf{y}(\textbf{k}). Определим последовательность комплексных чисел \textbf{z}(\textbf{k}): \textbf{z}(\textbf{k}) = \textbf{x}(\textbf{k}) + \textbf{iy}(\textbf{k}). \includegraphics{https://static.e-olymp.com/content/9a/9ab843ceb0f04a2f1ae7997a561ebdd426585517.jpg} Пусть \textbf{FFT_N}(\textbf{k}, \textbf{z}) = . Аналогичным образом определяются \textbf{FFT_N}(\textbf{k}, \textbf{x}) и \textbf{FFT_N}(\textbf{k}, \textbf{y}). Требуется по вычисленным значениям \textbf{FFT_N}(\textbf{k}, \textbf{z}) восстановить значения \textbf{FFT_N}(\textbf{k}, \textbf{x}) и \textbf{FFT_N}(\textbf{k}, \textbf{y}). \InputFile В первой строке входного файла записано целое число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{2^30}, \textbf{N} является степенью двойки). Далее следуют целые неотрицательные числа \textbf{A}, \textbf{B}, \textbf{C}, \textbf{D}, \textbf{E}, \textbf{F}, не превосходящие \textbf{1000}. Для экономии времени ввода значения \textbf{FFT_N}(\textbf{k}, \textbf{z}) нужно будет вычислять по следующим формулам: \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.real} = ((\textbf{A} + \textbf{B}·\textbf{k}) \textbf{xor} (\textbf{C}·\textbf{k}))·\textbf{10^\{-3\}}, \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.imag} = ((\textbf{D} + \textbf{E}·\textbf{k}) \textbf{xor} (\textbf{F}·\textbf{k}))·\textbf{10^\{-3\}}, где \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.real} и \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.imag} --- действительная и мнимая части соответственно. Затем дано число \textbf{M} --- количество запросов (\textbf{1} ≤ \textbf{M} ≤ \textbf{10^5}). Далее следуют \textbf{M} целых чисел \textbf{q_i} (\textbf{0} ≤ \textbf{q_i} ≤ \textbf{N}). \OutputFile В выходной файл выведите \textbf{M} строк. В \textbf{j}-ой строке --- значения \textbf{FFT_N}(\textbf{q_j}, \textbf{x}) и \textbf{FFT_N}(\textbf{g_j}, \textbf{y}). Значения должны отличаться от правильных не более, чем на \textbf{10^\{-4\}}.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
2
1000 0 0 0 0 0
2
0 1
Выходные данные #1
1.0000 0.0000 0.0000 0.0000
1.0000 0.0000 0.0000 0.0000
Автор Дмитрий Жуков
Источник Зимняя Школа, Харьков 2011, День 2