QOJ.ac

QOJ

Time Limit: 3.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#14426. Problem z siatką

Statistics

Yotsugi bawiła się siatką $A$ o wysokości $h$ i szerokości $w$, która początkowo była wypełniona zerami, wykonując w pewnej kolejności następujące 2 operacje:

  • Wybierz wartości $i, j$ ($0 \le i \le h - 1, 0 \le j \le w - 1$) oraz znak $+$ lub $-$, a następnie zmień wartości $A_{i,j}, A_{i,j+1}, A_{i+1,j}, A_{i+1,j+1}$ odpowiednio na $A_{i,j} \pm 2, A_{i,j+1} \pm 1, A_{i+1,j} \pm 1, A_{i+1,j+1} \pm 2$, gdzie $\pm$ zostaje zastąpione wybranym znakiem. Yotsugi traktuje tutaj $A_{h,j}$ jako równoważne $A_{0,j}$ oraz $A_{i,w}$ jako równoważne $A_{i,0}$. Innymi słowy, traktuje swoją siatkę jak torus.
  • Wybierz wartości $i, j$ ($0 \le i \le h - 1, 0 \le j \le w - 1$) oraz znak $+$ lub $-$, a następnie zmień wartości $A_{i,j}, A_{i,j+1}, A_{i,j+2}, A_{i+1,j}, A_{i+1,j+1}, A_{i+1,j+2}, A_{i+2,j}, A_{i+2,j+1}, A_{i+2,j+2}$ odpowiednio na $A_{i,j} \pm 2, A_{i,j+1} \pm 5, A_{i,j+2} \pm 2, A_{i+1,j} \pm 5, A_{i+1,j+1} \pm 5, A_{i+1,j+2} \pm 5, A_{i+2,j} \pm 2, A_{i+2,j+1} \pm 5, A_{i+2,j+2} \pm 2$, gdzie $\pm$ zostaje zastąpione wybranym znakiem. Podobnie jak w poprzedniej operacji, Yotsugi traktuje siatkę jak torus.

Aby łatwiej zrozumieć działanie operacji, zapoznaj się z sekcją uwag.

Następnego dnia siatka została zjedzona przez ziejącego ogniem ślimaka i teraz Yotsugi zastanawia się, ile możliwych siatek mogłaby otrzymać, gdyby po zakończeniu wykonywania operacji wszystkie wartości $A_{i,j}$ należały do przedziału $[0, k]$. Zauważ, że w trakcie wykonywania operacji przez Yotsugi wartości $A_{i,j}$ mogły być ujemne lub przekraczać $k$. Ponieważ odpowiedź może być duża, pomóż jej znaleźć wynik modulo $10^9 + 9$.

Wejście

Pierwszy wiersz zawiera 3 liczby całkowite $h, w, k$ ($3 \le h, w \le 1\,000$, $1 \le k \le 10^9$) — wymiary siatki oraz maksymalną możliwą wartość w siatce.

Wyjście

Wypisz odpowiedź na zadanie modulo $10^9 + 9$.

Przykład

Wejście 1

3 3 1

Wyjście 1

2

Wejście 2

4 4 52

Wyjście 2

972950693

Wejście 3

7 10 123

Wyjście 3

93519598

Uwagi

Na przykład, gdybyśmy mieli macierz $4 \times 4$, moglibyśmy wykonać operacje w następujący sposób:

problem_14426_bdc5aaccf4f57ccf8e281b69a642fa5f.png

Zastosowanie pierwszej operacji ze znakiem $-$.

problem_14426_c7868b974cacb61057c7998f75650c36.png

Zastosowanie drugiej operacji ze znakiem $+$.

problem_14426_bc6d6c6bdfd571cbf1363a33e2c0b200.png

Zastosowanie pierwszej operacji ze znakiem $+$.

problem_14426_0aa751704d08e9f39b2346eade004eb7.png

Zastosowanie pierwszej operacji ze znakiem $+$.

A ponieważ wszystkie wartości należą do przedziału $[0, 42]$, jest to jedna z macierzy, które należy policzyć w drugim przykładzie.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#364EditorialOpen题解jianglyView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.