시간 제한메모리 제한제출정답맞힌 사람정답 비율
12 초 1024 MB2000.000%

문제

Problemet Robotdammsugaren gick ut på att räkna hur många rutor en robotdammsugare besöker i ett rutnät. I det här problemet får du givet rutnätet och längden på kommandosekvensen och ska istället hitta en kommandosekvens som gör att dammsugaren besöker så många olika rutor som möjligt.

Du kommer att få poäng beroende på hur bra din lösning är jämfört med domarlösningen. Detta innebär att det kan vara svårt att få $100$ poäng, men det behöver inte vara så svårt att plocka delpoäng.

입력

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 tre heltal: $R$ ($3 \le R \le 2000$) och $C$ ($3 \le C \le 2000$), antalet rader och kolumner i den rutnätsformade lagerlokalen, samt $N$ ($1 \le N \le 2000$), längden på kommandosekvensen.
  • De följande $R$ raderna utgör en beskrivning av hur den rutnätsformade lagerlokalen ser ut. Den $i$:te av dessa rader innehåller $C$ tecken som beskriver hur den $i$:te raden ser ut. Varje tecken är antingen en punkt "." om en ruta är tom, en fyrkant "#" om rutan innehåller en låda eller "O" om rutan är robotens startposition. Det är garanterat att exakt en ruta innehåller "O". Dessutom är det garanterat att alla rutor längst kanten av rutnätet är "#".

출력

Skriv ut en rad med en sträng av längd $N$ som består av tecknen "^", ">","v","<". Detta är kommandoraden som dammsugaren kommer följa.

점수

Ditt program kommer att testas på $10$ testfall, och poängsättas baserat på hur det står sig relativt domarnas lösning. Om din inskickning på ett givet testfall besöker $X$ rutor, och poängen domarna uppnått på det testfallet är $Y$, så blir din poäng på det testfallet $10 \cdot (X / Y)$, 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. Talet $B$ är antalet blockerade rutor som inte är på kanten. Rutnät av typ 1 har slumpmässigt blockerade rutor, och startrutan är också slumpmässigt utplacerad. Rutnät av typ 2 har också slumpmässigt utplacerade blockerade rutor, men bara på övre halvan av rutnätet. I rutnät av typ 2 är startrutan så högt upp i rutnätet som möjligt.

Testfall Gränser Typ av rutnät
$1$ $R = 10$, $C = 10$, $N = 10, B = 10$ 1
$2$ $R = 100$, $C = 100$, $N = 250, B = 500$ 1
$3$ $R = 100$, $C = 100$, $N = 250, B = 2000$ 1
$4$ $R = 100$, $C = 100$, $N = 2000, B = 2000$ 1
$5$ $R = 500$, $C = 500$, $N = 500, B = 10000$ 1
$6$ $R = 500$, $C = 500$, $N = 500, B = 50000$ 1
$7$ $R = 500$, $C = 500$, $N = 500, B = 10000$ 2
$8$ $R = 2000$, $C = 2000$, $N = 2000, B = 10^5$ 1
$9$ $R = 2000$, $C = 2000$, $N = 2000, B = 8 \cdot 10^5$ 1
$10$ $R = 2000$, $C = 2000$, $N = 2000, B = 3 \cdot 10^5$ 2

Med slumpmässig menas här likformigt slumpmässig

예제 입력 1

0
8 10 14
##########
#.#......#
#....#...#
##......O#
#........#
#..#.....#
#....#...#
##########

예제 출력 1

<v>^<v>v<^^><>

출처

Olympiad > Swedish Olympiad in Informatics > 2021 > Online Qualification C번

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

채점 및 기타 정보

  • 100점 이상을 획득해야 를 받는다.
  • 예제는 채점하지 않는다.