QOJ.ac

QOJ

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

#14426. Rutnätsproblem

Statistics

Yotsugi lekte med ett rutnät $A$ med höjden $h$ och bredden $w$, som från början var fyllt med nollor, genom att utföra följande 2 operationer i någon ordning:

  • Välj värden $i, j$ ($0 \le i \le h - 1, 0 \le j \le w - 1$) och tecken $+$ eller $-$, och ändra värdena $A_{i,j}, A_{i,j+1}, A_{i+1,j}, A_{i+1,j+1}$ till $A_{i,j} \pm 2, A_{i,j+1} \pm 1, A_{i+1,j} \pm 1, A_{i+1,j+1} \pm 2$ motsvarande, där $\pm$ ersätts med det valda tecknet. Här betraktar Yotsugi $A_{h,j}$ som ekvivalent med $A_{0,j}$ och $A_{i,w}$ som ekvivalent med $A_{i,0}$. Med andra ord behandlar hon sitt rutnät som en torus.
  • Välj värden $i, j$ ($0 \le i \le h - 1, 0 \le j \le w - 1$) och tecken $+$ eller $-$, och ändra värdena $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}$ till $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$ motsvarande, där $\pm$ ersätts med det valda tecknet. Liksom i föregående operation behandlar Yotsugi rutnätet som en torus.

För att lättare förstå operationerna, se förklaringsavsnittet.

Nästa dag åts rutnätet upp av den eldsprutande snigeln, och nu undrar Yotsugi hur många möjliga rutnät hon kunde ha fått om alla värden $A_{i,j}$ låg i $[0, k]$ efter att hon avslutat operationerna. Observera att medan Yotsugi utförde operationerna kunde värdena $A_{i,j}$ vara negativa eller överstiga $k$. Eftersom svaret kan vara stort, hjälp henne att beräkna det modulo $10^9 + 9$.

Indata

Första raden innehåller 3 heltal $h, w, k$ ($3 \le h, w \le 1\,000$, $1 \le k \le 10^9$) — rutnätets storlek och det största möjliga värdet i rutnätet.

Utdata

Skriv ut svaret på problemet modulo $10^9 + 9$.

Exempel

Indata 1

3 3 1

Utdata 1

2

Indata 2

4 4 52

Utdata 2

972950693

Indata 3

7 10 123

Utdata 3

93519598

Förklaring

Till exempel, om vi hade en $4 \times 4$-matris, skulle vi kunna utföra operationerna på följande sätt:

problem_14426_bdc5aaccf4f57ccf8e281b69a642fa5f.png

Utför den första operationen med tecknet $-$.

problem_14426_c7868b974cacb61057c7998f75650c36.png

Utför den andra operationen med tecknet $+$.

problem_14426_bc6d6c6bdfd571cbf1363a33e2c0b200.png

Utför den första operationen med tecknet $+$.

problem_14426_0aa751704d08e9f39b2346eade004eb7.png

Utför den första operationen med tecknet $+$.

Och eftersom alla värden ligger i $[0, 42]$ är detta en av matriserna som du ska räkna i det andra exemplet.

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.