Cirkelskivevärlden | 프로그래밍의 벗 PivotOJ
PivotOJ

Cirkelskivevärlden

시간 제한: 4000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2018 — finalBOJ 20872
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Det är morgon på Cirkelskivevärlden, och solen håller på att gå upp. Soluppgången på Cirkelskivevärlden är inte som soluppgångar på de flesta världar. Detta är kanske inte så konstigt, då Cirkelskivevärlden inte är som de flesta världar (den är nämligen en cirkelskiva, till skillnad från de mer konventionella sfäriska världarna). Cirkelskivevärlden är nämligen fylld med magi, och som alla vet undviker gärna solljuset att färdas genom starka magiska fält.

Som en av Cirkelskivevärldens mest kraftfulla magiker som bor på motsatt sida av Cirkelskivevärlden än där soluppgången först träffar cirkelskiveytan är detta ett faktum som du tycker är ytterst trevligt. Du älskar nämligen sovmorgonar, och om du fick välja skulle solen helst stanna på sin sida av världen någon timme längre på morgonarna. Speciellt nu när du precis köpt ytterst solljuskänsliga hyacinther. Turen i oturen ligger dock i att du som magiker kan påverka solljusets framfart över Cirkelskivevärlden genom att förstärka vissa av de magiska fält som finns i världen.

Världen kan modelleras som ett n×nn \times n rutnät, där alla rutor som ingår i en cirkelskiva kring rutnätets mitt existerar på världen (exakt vilka rutor som existerar ges av indata). I rutan på koordinat (r,c)(r, c) finns ett magiskt fält med styrkan mr,cm_{r, c}. För att öka fältstyrkan med 11 behöver du använda dig av pr,cp_{r, c} trollformler på rutan. Du kan inte öka fältstyrkan med mindre än 11, men du kan öka den med 11 upprepade gånger.

När solen går upp börjar den att försöka lysa upp position (0,n12)(0, \frac{n - 1}{2}) -- högst upp i rutnätet -- och sprider sig sedan på följande vis (se även figuren nedan). Antag att solen försöker lysa upp en viss ruta (r,c)(r, c). Det tar då mr,cm_{r, c} sekunder innan solen lyser på rutan. Så fort solen lyser på rutan börjar den försöka lysa på de (upp till fyra) rutor som rutan delar en kant med.

Du bor på rutan (n1,n12)(n-1, \frac{n-1}{2}) (längst ner i rutnätet). Totalt kan du kk stycken trollformler, som du vill använda dig av för att öka fältstyrkan på olika rutor i världen. Din uppgift är att använda trollformlerna på ett sätt som maximerar antalet sekunder innan solen lyser upp rutan du bor på.

입력

Observera: testdatan på detta problem är öppen. Du kan ladda ner den i menyn till höger (1.in, 2.in, 3.in, 4.in, 5.in).

Den första raden innehåller ett heltal 0t50 \le t \le 5, ordningstalet för detta testfall. Fallet t=0t = 0 representar exempelfallet, och ska ignoreras (du kan skriva ut vad du vill då).

Den andra raden innehåller två heltal nn och kk, där nn är udda.

De följande nn raderna innehåller talen mr,cm_{r, c}. Den ii:te raden innehåller talen mi,cm_{i, c} för alla 0c<n0 \le c < n.

De följande nn raderna innehåller talen pr,cp_{r, c}. Den ii:te raden innehåller talen pi,cp_{i, c} för alla 0c<n0 \le c < n.

Om en ruta inte är med på cirkelskivan är både mr,cm_{r, c} och pr,cp_{r, c} lika med 1-1, annars är de alltid positiva.

출력

Skriv ut nn rader med nn tal vardera. Den ii:te raden ska innehålla antalet trollformler du använder på rutorna (i,c)(i, c) för 0c<n0 \le c < n. Antalet trollformler du använder på ruta (i,c)(i, c) måste vara en multipel av pi,cp_{i, c}.

힌트

[이미지 1]

Siffrorna anger den magiska fältstyrkan före trollningen (vänstra figuren) och efter trollningen (övriga figurer). Färgmarkeringen visar vilka rutor som är upplysta efter 0, 4 respektive 6 sekunder. Den nedersta rutan, där du bor, blir upplyst efter 10 sekunder. Det finns många andra sätt att trolla som ger samma fördröjning.

예제

예제 1

입력
0
5 5
-1 -1 1 -1 -1
-1 1 1 1 -1
1 1 1 1 1
-1 1 1 1 -1
-1 -1 1 -1 -1
-1 -1 1 -1 -1
-1 1 1 1 -1
1 1 1 1 1
-1 1 1 1 -1
-1 -1 1 -1 -1
출력
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.