Loading [MathJax]/jax/output/SVG/jax.js

Областная олимпиада по информатике 2019 год


Задача A. Волшебство на матрицах

Ограничение по времени:
2 секунды
Ограничение по памяти:
256 мегабайт

Юный волшебник Асхат научился новому заклинанию - теперь он умеет заменять любую матрицу ее префиксной суммой!
   Дабы закрепить новые знания, он решил немного попрактиковаться. Он раздобыл матрицу очень большого размера, каждый элемент которой равен 1, и очень много раз применил к ней вышеописанное заклинание.
   В этой задаче вам предстоит показать, что ваши навыки программирования ничем не уступуают магии. На каждый соответствующий запрос, а их будет очень много, найдите чему было равно число в i-м ряду в j-й строке матрицы после k применений заклинания. Поскольку эти числа могут быть довольно большими, выведите остаток от их деления на 1000000007.
Формат входного файла
Первая строка содержит целое положительное число Q(1<=Q<=105) — количество запросов к вашей программе.
   Каждая из следующих Q строк описывает очередной запрос и содержит три целых положительных числа — номер строки i, номер столбца j и количество предварительных применений заклинания k (1<=i,j,k<=105) соответственно.
Формат выходного файла
Выведите Q целых чисел, по одному в строке — значение в ячейке в i-м ряду в j-й строке матрицы после k применений заклинания, взятое по модулю 1000000007.
Система оценки
Подзадача 1 (10 баллов) — 1<=Q<=10,1<=i,j,k<=100
Подзадача 2 (10 баллов) — 1<=i,j,k<=100
Подзадача 3 (10 баллов) — 1<=i,j,k<=103
Подзадача 4 (10 баллов) — i=1 или j=1
Подзадача 5 (10 баллов) — k=1
Подзадача 6 (50 баллов) — без дополнительных ограничений
Примеры:
Вход
2
2 3 1
1 1 3
Ответ
6
1
Вход
3
4 5 7
3 3 3
2 1 10
Ответ
39600
100
11
Замечание

   Напомним, что матрица - это двумерный массив (иначе говоря, таблица) содержащий целочисленные значения. Один из возможных примеров матрицы 3x4 приведен ниже: \begin{center}  \begin{tabular}{|c|c|c|c|}    \hline    1 & 2 & 3 & 4\\    \hline    4 & 7 & 0 & -2\\    \hline    5 & 9 & 2 & 6\\    \hline   \end{tabular} \end{center}
   Префиксной суммой называется матрица, где каждый элемент заменен на сумму чисел в соответствующуем ему прямоугольнике с противоположной вершиной в (1,1). Более формально, определим префиксную сумму матрицы A как матрицу B такую, что для любых i>0,j>0 выполняется Bi,j=Ai,j+Bi1,j+Bi,j1Bi1,j1
   В то время как значения в ячейках B с i=0 или j=0 равны нулю.
   Например перфиксной суммой данной матрицы \begin{center}  \begin{tabular}{|c|c|c|c|}    \hline    1 & 2 & 0 & 1\\    \hline    4 & 1 & 5 & 9\\    \hline    3 & 2 & 6 & 1\\    \hline    0 & 7 & 2 & 4\\    \hline   \end{tabular} \end{center}
   Будет следующая матрица: \begin{center}   \begin{tabular}{|c|c|c|c|}    \hline    1 & 3 & 3 & 4\\    \hline    5 & 8 & 13 & 23\\    \hline    8 & 13 & 24 & 35\\    \hline    8 & 20 & 33 & 48\\    \hline   \end{tabular} \end{center} ( Sanjar Bidaibek )
посмотреть в олимпиаде

Комментарий/решение:

  2
5 года 3 месяца назад #

eto zhe cnk + teorema ferma.

пред. Правка 4   0
3 года 7 месяца назад #

сореее(((

  0
3 года 3 месяца назад #

показать/скрыть код

C++

  1
3 года 2 месяца назад #

ans=Cki+k1Ckj+k1

  0
3 года 2 месяца назад #

Конечно с остатком от деления 1000000007

пред. Правка 2   2
2 года 5 месяца назад #

показать/скрыть код

C++