Programmeringsolympiadens onlinekval 2021

Start

2020-11-02 00:00 AKST

Programmeringsolympiadens onlinekval 2021

End

2020-11-29 10:00 AKST
The end is near!
Contest is over.
Not yet started.
Contest is starting in -21 days 15:48:21

Time elapsed

519:48:21

Time remaining

138:11:39

Problem A
Robotdammsugaren

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.

Indata

  • Den första 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äts-formad lagerlokalen, samt $N$ ($1 \le N \le 2000$), längden på kommandosekvensen.

  • Den andra raden innehåller en $N$ lång sträng bestående av "^", ">","v","<", kommandosekvensen som skickas till roboten.

  • De följande $R$ raderna utgör en beskrivning av hur den rutnäts-formad 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 "#".

Utdata

Skriv ut ett heltal – antalet olika rutor som städas av roboten.

Poängsättning

Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.

Grupp

Poängvärde

Gränser

$1$

$20$

Gruppen består av ett enda testfall, det som finns på vår affisch (https://www.progolymp.se/2021/affisch.pdf).

$2$

$20$

$R=3$

$3$

$30$

$N \times R \times C \le 1000$

$4$

$30$

Inga ytterligare begränsningar.

Exempelfall

Sample Input 1 Sample Output 1
5 5 4
v>^v
#####
#O#.#
#...#
##..#
#####
6
Sample Input 2 Sample Output 2
6 7 7
>>^<v><
#######
#.#.#.#
#.....#
#.....#
##O..##
#######
12
Sample Input 3 Sample Output 3
3 12 3
<<<
############
#.#.....O.##
############
6
Sample Input 4 Sample Output 4
8 10 14
<v>^<v>v<^^><>
##########
#.#......#
#....#...#
##......O#
#........#
#..#.....#
#....#...#
##########
33