CSES - Datatähti 2023 alku - Ruudukko
  • Language:
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Annettuna on n×nn \times n -ruudukko, jonka jokaisessa ruudussa on kokonaisluku väliltä 1n21 \dots n^2.

Ruudukossa oleva reitti alkaa jostain ruudusta ja siirtyy aina pysty- tai vaakasuunnassa toiseen ruutuun, jossa on pienempi luku kuin nykyisessä ruudussa. Ruutujen ei tarvitse olla vierekkäisiä, ja reitissä voi olla myös vain yksi ruutu.

Montako erilaista reittiä ruudukossa on? Koska vastaus voi olla suuri, ilmoita se modulo 109+710^9+7 eli vastauksen jakojäännös luvulla 109+710^9+7.

Syöte

Ensimmäisellä rivillä on kokonaisluku nn: ruudukon koko.

Tämän jälkeen on nn riviä, joista jokaisella on nn lukua: ruudukon sisältö.

Tuloste

Tulosta yksi kokonaisluku: reittien määrä modulo 109+710^9+7.

Esimerkki

Syöte:

3
2 1 3
1 1 1
9 2 7

Tuloste:

46

Selitys: Tässä esimerkissä mahdollisia ovat mm. seuraavat kolme reittiä:

Osatehtävä 1 (28 pistettä)

  • 1n31 \le n \le 3

Osatehtävä 2 (33 pistettä)

  • 1n1001 \le n \le 100

Osatehtävä 3 (39 pistettä)

  • 1n10001 \le n \le 1000