시간 제한메모리 제한제출정답맞힌 사람정답 비율
11 초 (추가 시간 없음) 1024 MB0000.000%

문제

Efter att du löst problemet Ljusshow så inser du att det vita bländande ljuset kan utnyttjas för att lysa upp vissa av rutorna i rutnätet. I det här problemet får du givet vilka av rutorna som ska lysa vitt och vilka som inte ska göra det, och din uppgift är att placera ut lamporna längs kanten så att så många av kraven som möjligt blir uppfyllda.

입력

Indatan består av $10$ testfall.

  • Den första raden innehåller ett heltal $T$ ($0 \leq T \leq 10$), numret på testfallet ($0$ är exempelfallet nedan).
  • Den andra raden innehåller två heltal: $n$ och $m$ ($1 \le n,m \le 1000$), antalet rader och kolumner i rutnätet.

De följande $n$ raderna utgör en beskrivning av vilka rutor som ska lysa i rutnätet och vilka som inte ska det. Varje rad kommer bestå av en sträng med $m$ ettor och nollor. En etta på rad $r$ och kolumn $c$ indikerar att den

  • rutan ska lysa vitt. En nolla indikerar att rutan inte ska lysa vitt.

출력

Skriv ut fyra rader med en sträng på varje. Strängarna ska utgöra en utplacering av lampor, på samma format som indatan i Ljusshow. Notera att du inte ska skriva ut $n$ och $m$.

점수

Ditt program kommer att testas på $10$ testfall, och poängsättas baserat på hur det står sig relativt domarnas lösning.

En lösnings poäng på ett specifikt testfall definieras som $\max(0, x - \frac{nm}{2})$, där $x$ är antalet rutor i rutnätet där ljuset från lamporna som lösningen placerade ut uppfyller de givna kraven på vilka rutor som skulle lysa vitt och inte. Om din lösning fick poängen $P_1$ och domarlösningen fick poängen $P_2$ så får du $10 \cdot (P_1 / P_2)$ poäng på testfallet, avrundat till två decimaler.

Din poäng för en inskickning är summan av poängen för testfallen, och din totala poäng är poängen för den bästa inskickningen. Det går alltså inte att kombinera testfall mellan olika inskickningar, utan du måste skicka in ett enda program som maximerar din poäng på alla testfall samtidigt.

Din lösning kan maximalt få $100$ poäng, även om den är bättre än den domarna skrivit.

Exempeltestfallet kommer alltid att ge $0$ poäng.

채점 데이터

Här är beskrivningar av de $10$ testfallen som förekommer. Testfall av typ 1 har genererats genom att ta resultatet av en slumpmässig utplacering av lampor. Det finns alltså alltid ett sätt att uppnå det maximala $\frac{nm}{2}$ poäng på dessa testfall. Testfall av typ 2 har genererats genom att bara slumpa för varje ruta om den ska vara ett eller noll, med $50\%$ sannolikhet. Dessa testfall har ofta ingen lösning som uppfyller alla kraven.

Testfall Gränser Typ
$1$ $n = 10$, $m = 10$ 1
$2$ $n = 40$, $m = 40$ 1
$3$ $n = 150$, $m = 150$ 1
$4$ $n = 400$, $m = 400$ 1
$5$ $n = 1000$, $m = 1000$ 1
$6$ $n = 100$, $m = 10$ 1
$7$ $n = 1000$, $m = 1$ 1
$8$ $n = 10$, $m = 10$ 2
$9$ $n = 100$, $m = 100$ 2
$10$ $n = 1000$, $m = 1000$ 2

예제 입력 1

0
3 5
00110
10101
10001

예제 출력 1

RRBBR
RBB
GRGBG
GRB

힌트

I exempelfallet så uppfyller lösningen alla kraven och dess poäng är därför $7.5$, vilket är det maximala möjliga.

출처

Olympiad > Swedish Olympiad in Informatics > 2022 > Online Qualification E번

  • 문제를 만든 사람: Johan Sannemo, Nils Gustafsson

채점 및 기타 정보

  • 100점 이상을 획득해야 를 받는다.