Submit solution

Points: 1
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Imamo robota kome se mogu zadati 3 različite komande:

  • P - govori robotu da se pomeri za 1 metar unapred u pravcu u kome je okrenut,
  • L - govori robotu da se okrene za 90° u levo u mestu (lokacija mu se ne menja),
  • D - govori robotu da se okrene za 90° u desno u mestu (lokacija mu se ne menja).

    Dato je K blokova od po N ovakvih komandi, blokovi se mogu izvršiti u bilo kom redosledu, dok se komande unutar jednog bloka moraju izvršiti u redosledu u kome su date. Svi blokovi se moraju izvršiti. Odrediti u koliko razliqitih redosleda izvršavanja blokova komandi će se robot na kraju naći nazad u istom mestu iz koga je pošao.

Ulaz:

(Ulazni podaci se učitavaju sa standardnog ulaza) U prvom redu ulazne datoteke sa nalaze dva broja K i N (1 ≤ K ≤ 8, 1 ≤ N ≤ 100.000). U sledećih K redova nalazi se po N znakova od kojih je svaki P, L ili D.

Izlaz:

(Izlazni podaci se ispisuju na standardni izlaz) U prvom i jedinom redu izlaza ispisuje se traženi broj redosleda izvršavanja blokova komandi.

Primer:

standardni ulaz      standardni izlaz
3 4
PPLP
PLPD
LPLD
        
1

Objašnjenje.

Ako je robot na početku okrenut ka severu, dati su svi mogući redosledi izvršavanja blokova komandi i relativna pozicija robota na kraju u odnosu na početnu tačku.

  • 1 - 2 - 3 [PPLP—PLPD—LPLD] 0 metara na sever, 2 metara na zapad
  • 1 - 3 - 2 [PPLP—LPLD—PLPD] 0 metara na sever, 0 metara na istok
  • 2 - 1 - 3 [PLPD—PPLP—LPLD] 2 metara na sever, 2 metara na zapad
  • 2 - 3 - 1 [PLPD—LPLD—PPLP] 0 metara na sever, 4 metara na zapad
  • 3 - 1 - 2 [LPLD—PPLP—PLPD] 2 metara na jug, 2 metara na zapad
  • 3 - 2 - 1 [LPLD—PLPD—PPLP] 2 metara na jug, 4 metara na zapad

    Samo u drugom slučaju kada se blokovi izvršavaju u redosledu 1 - 3 - 2 se robot na kraju nalazi u istoj tački odakle je počeo.

Napomena.

U 30% test primera biće K ≤ 6 i N ≤ 1000.


Comments

There are no comments at the moment.