SG1

Time limit: 0.05s Memory limit: 10MB Input: sg1.in Output: sg1.out

O misiune a echipei SG1 constă în activarea unui dispozitiv extraterestru acţionat cu ajutorul unei tastaturi ciudate formate din n comutatoare aflate iniţial toate în aceeaşi poziţie (să o notăm cu 00). Se ştie că trebuie setate (trecute în poziţia 11) exact k comutatoare şi că nu contează ordinea în care trebuie acţionate comutatoarele. În plus, cu ajutorul unor documente antice, au aflat că între oricare două comutatoare succesive setate se pot afla cel puţin d1d1 şi cel mult d2d2 comutatoare nesetate. De exemplu, pentru n=7n=7, k=3k=3, d1=1d1=1 şi d2=2d2=2, o configuraţie care corespunde cerinţei este: 01001010100101, în timp ce configuraţiile 10100011010001, 11001001100100, 10101011010101 nu corespund datelor problemei. Dacă o combinaţie de comutatoare setate nu activează dispozitivul, nu se întâmplă nimic deosebit (ce plictisitor episod!), ci comutatoarele se resetează automat, permiţând încercarea altei combinaţii. Se cere să se determine numărul maxim de configuraţii distincte de comutatoare setate pe care trebuie să le încerce echipa SG1 pentru a activa dispozitivul.

Cerinţă

Scrieţi un program care, pentru valorile nn, kk, d1d1, d2d2 date, determină numărul total de configuraţii posibile de comutatoare ce respectă condiţiile din enunţ.

Date de intrare

În fişierul text sg1.in se dau, pe aceeaşi linie, despărţite prin spaţii, valorile nn, kk, d1d1 şi d2d2.

Date de ieșire

În fişierul sg1.out se scrie numărul de configuraţii ce corespund cerinţei.

Restricții și precizări

  • 1n1001 \leq n \leq 100;
  • 1kn1 \leq k \leq n;
  • 0d1d2<n0 \leq d1 \leq d2 < n.

Exemplul 1

sg1.in

7 3 1 2

sg1.out

8

Explicație

Cele 88 configuraţii sunt:
10101001010100, 10100101010010, 10010101001010, 10010011001001, 01010100101010, 01010010101001, 01001010100101, 00101010010101.

Exemplul 2

sg1.in

5 2 0 0

sg1.out

4

Explicație

1100011000, 0110001100, 0011000110, 0001100011.

Exemplul 3

sg1.in

14 8 1 5

sg1.out

0

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