sumk

Time limit: 0.04s Memory limit: 32MB Input: sumk.in Output: sumk.out

sumk este un joc de perspicacitate, cu NN stagii numerotate de la 11 la NN. Un joc se termină cu succes dacă jucătorul a parcurs în ordine, de la 11 la NN, toate cele NN stagii ale jocului şi în fiecare stagiu a obţinut exact KK puncte. Fiecare stagiu are NN niveluri, numerotate de asemenea de la 11 la NN. Jucătorul are posibilitatea să câştige 00, 11, \dots, KK puncte pe oricare nivel al stagiului curent.

Dacă jucătorul se găseşte în stagiul ii pe nivelul jj și numărul total de puncte obţinute până în acel moment în acest stagiu este mai mic decât KK, el va trece în mod obligatoriu pe nivelul j+1j + 1 al stagiului ii. Dacă jucătorul primește cel puţin un punct pe nivelul jj și astfel punctajul său în stagiul ii devine exact KK, atunci jucătorul trece în mod automat pe nivelul jj al stagiului i+1i + 1 sau termină jocul cu succes dacă i=Ni = N.

Cerinţă

Cunoscând numărul NN de stagii ale jocului şi numărul KK de puncte care trebuie să fie obţinute în fiecare stagiu, să se determine numărul de posibilităţi modulo 578 537578 \ 537 pentru ca jocul să se termine cu succes.

Date de intrare

Fişierul de intrare sumk.in conţine pe prima linie două numere naturale NN, KK cu semnificația descrisă anterior.

Date de ieşire

Pe prima linie a fişierului sumk.out se va scrie un singur număr natural PP reprezentând numărul total de posibilităţi modulo 578 537578 \ 537 pentru ca jocul să se termine cu succes.

Restricții și precizări

  • 1KN5001 \leq K \leq N \leq 500
  • Fie xx punctajul final într-un stagiu oarecare. Atunci dacă xKx \neq K, jocul se termină cu eșec.
  • Pentru 20%20\% din teste, KN10K \leq N \leq 10, iar pentru 30%30\% din teste, KN100K \leq N \leq 100

Exemplul 1

sumk.in

2 2 

sumk.out

5

Explicație

Sunt N=2N = 2 stagii, cu câte N=2N = 2 niveluri. Suma este K=2K = 2 pe fiecare stagiu. Nivelurile sunt reprezentate de către coloanele matricelor. Există 55 posibilități ca jocul să se termine cu succes.

Exemplul 2

sumk.in

3 2

sumk.out

28

Explicație

Sunt N=3N = 3 stagii, cu câte N=3N = 3 niveluri. Suma este K=2K = 2 pe fiecare stagiu. Sunt reprezentate doar câteva dintre cele 2828 de posibilități.

Log in or sign up to be able to send submissions!