Universal Cup Judging System

Universal Cup

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

På ett oändligt stort golv ska du lägga ett oändligt antal plattor.

Varje platta har ett rutnätsmönster av kvadratiska celler med storleken $n \times n$. Varje cell på plattan har en LED-ljuslist fäst längs sin nedre och vänstra kant, med olika färger som skapar ett färggrant mönster.

Mönstret på varje platta är exakt detsamma. När vi lägger plattorna placerar vi ett oändligt antal plattor sömlöst bredvid varandra, vilket bildar ett oändligt stort ljuslistmönster.

Det finns $k$ olika färger tillgängliga, och du måste välja motsvarande färger för totalt $2n^2$ ljuslister på en platta, varefter de andra plattorna automatiskt kopierar detta färgschema. När plattorna läggs kommer alla plattor att läggas i samma riktning, vilket innebär att de kan ses som en direkt parallellförflyttning av en platta som sedan fogas samman utan rotation.

När du går på golvet vill du veta hur många väsentligen olika scheman det finns för att färglägga plattorna. Eftersom golvet är oändligt och en person kan titta i olika riktningar (norr, söder, öster, väster) när man betraktar plattorna, definieras två scheman som väsentligen lika om och endast om:

När man betraktar det oändliga golvplanet som skapas av de tvåรschemana, om det finns en följd av parallellförflyttningar eller rotationer (exklusive speglingar) som kan få färgerna på ljuslisterna på alla positioner på golvet att bli helt identiska, då betraktas dessa två scheman som väsentligen lika.

Indata

Det finns flera testfall i en enda testfil. Den första raden i indatan innehåller ett positivt heltal $T$ ($1 \le T \le 10$), som anger antalet testfall.

För varje testfall:

  • Den första raden innehåller två heltal $n$ och $k$ ($1 \le n \le 10^9$, $1 \le k \le 10^9$), som representerar storleken på mönstret respektive antalet färger.

Utdata

För varje testfall, skriv ut en enda rad med ett heltal som representerar antalet väsentligen olika scheman, modulo $10^9 + 7$.

Exempel

Indata 1

3
1 2
2 2
114514 5201314

Utdata 1

3
31
377726028

Förklaring

Följande bild visar 19 konstruktionsscheman för $n = k = 2$ (för att bättre illustrera plattsättningseffekten visar varje bild 9 plattor ordnade i ett $3 \times 3$-mönster, med LED-lister i mörk och ljus färg). Genom att byta plats på den mörka och ljusa färgen i de första 12 schemana kan ytterligare 12 scheman erhållas, vilket ger totalt 31 scheman.

problem_15430_1.png

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.