Robotdammsugaren | 프로그래밍의 벗 PivotOJ
PivotOJ

Robotdammsugaren

시간 제한: 1000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2021 — onlinekvalBOJ 21361

문제

En robotdammsugare städar i en rutnäts-formad lagerlokal, där tunga lådor ligger på vissa rutor. Dammsugaren styrs av en sekvens av kommandon: upp ("^"), höger (">"), ned ("v"), vänster ("<"). När roboten får ett kommando åker den så långt den kan i den riktningen tills en låda är i vägen. Varje ruta robotdammsugaren någon gång befinner sig på städas, inklusive rutan den börjar på. Givet hur lagerlokalen ser ut, robotens startposition och en sekvens av kommandon, avgör hur många olika rutor som kommer ha städats när sekvensen är klar.

입력

  • Den första raden innehåller tre heltal: RR (3R20003 \le R \le 2000) och CC (3C20003 \le C \le 2000), antalet rader och kolumner i den rutnäts-formad lagerlokalen, samt NN (1N20001 \le N \le 2000), längden på kommandosekvensen.
  • Den andra raden innehåller en NN lång sträng bestående av "^", ">","v","<", kommandosekvensen som skickas till roboten.
  • De följande RR raderna utgör en beskrivning av hur den rutnäts-formad lagerlokalen ser ut. Den ii:te av dessa rader innehåller CC tecken som beskriver hur den ii: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 ett heltal -- antalet olika rutor som städas av roboten.

예제

예제 1

입력
5 5 4
v>^v
#####
#O#.#
#...#
##..#
#####
출력
6

예제 2

입력
6 7 7
>>^<v><
#######
#.#.#.#
#.....#
#.....#
##O..##
#######
출력
12

예제 3

입력
3 12 3
<<<
############
#.#.....O.##
############
출력
6

예제 4

입력
8 10 14
<v>^<v>v<^^><>
##########
#.#......#
#....#...#
##......O#
#........#
#..#.....#
#....#...#
##########
출력
33
코드를 제출하려면 로그인하세요.