Zalău01

Time limit: 1s Memory limit: 512MB Input: Output:

La herghelia Zalău01 există un grajd pentru cai compus din NN boxe numerotate de la 11 la NN și așezate în linie. Momentan câteva dintre boxe sunt ocupate de câte un cal și câteva boxe trebuie păstrate libere din motive de salubritate.

Consiliul hergheliei a decis să mai achiziționeze câțiva cai, dar trebuie să țină cont de niște restricții foarte stricte pentru a nu destabiliza psihologic animalele. Mai exact, pentru un KK dat, spunem că doi cai sunt prieteni dacă stau în boxe situate la distanță cel mult KK. Formal, perechea de cai din boxele (i,j)(i, j) formează o relație de prietenie dacă 1i<jN1 \leq i < j \leq N și ji+1Kj - i + 1 \leq K.

Pentru a asigura o stare emoțională optimă a cailor, trebuie ca în grajd să existe exact XX relații de prietenie. Atenție, perechile (i,j)(i, j) și (j,i)(j, i) se numără o singura dată.

Cerință

Date fiind NN, KK și XX și configurația actuală a grajdului, să se determine numărul de moduri în care herghelia poate achiziționa cai noi astfel încât să respecte restricțiile psihologice. Două moduri sunt diferite dacă există cel puțin o boxă care într-unul dintre ele este ocupată, iar în celălalt nu.

Date de intrare

Pe prima linie, se dau numerele NN, KK și XX.

Pe a doua linie se află un șir de lungime NN format din caracterele {0,1,?}\{`0`, `1`, `?`\} unde caracterul 1 reprezintă o boxă deja ocupată de un cal, 0 reprezintă o boxă care trebuie lăsată liberă, iar caracterul ? descrie o boxă pentru care poate sau nu să fie achiziționat un cal.

Date de ieșire

Afișați numărul cerut.

Restricții și precizări

  • 2N502 \leq N \leq 50
  • 2KN2 \leq K \leq N
  • 0XN(N1)20 \leq X \leq \frac{N \cdot (N - 1)}{2}
  • Caii țin la intimitatea lor, prin urmare nu pot să stea doi cai în aceeași boxă.
# Scor Restricții
1 8 N=K=50N = K = 50
2 5 N=10N = 10
3 9 N=50,K6N = 50, K \leq 6
4 12 N=50,K44N = 50, K \geq 44
5 13 N=40,K26N = 40, K \geq 26
6 21 N=40N = 40
7 32 Fără restricții adiționale.

Exemple

stdin

3 2 1
?1?

stdout

2

Explicații

Opțiunile de a achiziționa și așeza caii respectând cerința sunt:
011
110

stdin

4 3 2
1??1

stdout

2

Explicații

Opțiunile de a achiziționa și așeza caii respectând cerința sunt:
1011
1101

stdin

4 3 2
???0

stdout

0

Explicații

Nu există nicio opțiune de a achiziționa cai noi cu configurația actuală a grajdului.

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