Doamna directoare trebuie să împartă elevii din clasele a VII-a în grupe pentru un concurs. Numărul de elevi din oricare două grupe trebuie să difere cel mult cu , iar numărul de fete și de băieți din fiecare grupă trebuie să difere tot cu cel mult . Știind că sunt maxim de elevi în clasele a VII-a, doamna directoare, după ce formează grupele, dorește să fie verificat dacă acestea sunt bine realizate (fiecare copil să apară într-o singură grupă și grupele să satisfacă condițiile cerute).
Spre exemplu:
- Pentru copii în clasele a VII-a, un număr de grupe, șirul care indică componența fete sau băieți:
fbfbfbfbfb
cu semnificația copilul cu numărul de ordine este fată, cel cu numărul este băiat, etc.. - Prima grupă are copii și componența: ;
- Grupa a doua are copii și componența: ;
- Grupa a treia are copii și componența: ;
- Răspunsul este: grupele au fost corect alcătuite.
- Numerele ce formează o grupă reprezintă numărul de ordine pe care îl are fiecare copil în șirul inițial.
Cerință
Scrieți un program care, cunoscând numărul total de copii, numărul de grupe, un șir format din caracterele f
și b
pentru fiecare copil dacă este fată sau băiat, numărul de copii din fiecare grupă și componența grupelor, răspunde prin DA
sau NU
dacă s-au constituit corect sau nu grupele de copii. Pentru fiecare grupă se va preciza numărul de fete și numărul de băieți din grupa respectivă. Grupele sunt corect constituite dacă sunt cuprinși toți copiii, numărul de copii din grupe diferă prin cel mult un copil și pentru fiecare grupă numărul de fete și de băieți diferă prin cel mult .
Date de intrare
Fișierul grupe.in
conține pe prima linie numerele naturale și , reprezentând numărul de elevi din clasele a VII-a și respectiv numărul de grupe pe care dorește să-l realizeze directoarea. Pe următoarea linie se află un șir de caractere f
și b
format astfel: dacă elevul cu numărul de ordine este fată, caracterul de pe poziția din șir este f
; dacă elevul cu numărul de ordine este băiat, caracterul de pe poziția din șir este b
. Următoarele linii vor avea următoarea structură: numărul de copii din grupă urmat de numerele de ordine ale copiilor care formează grupa respectivă.
Date de ieșire
Fișierul de ieșire grupe.out
va conține pe primele linii câte două valori numere naturale reprezentând numărul de băieți și numărul de fete din fiecare grupă, separate prin câte un spațiu și pe ultimul rând cuvântul DA
dacă grupele sunt constituite corect sau cuvântul NU
în caz contrar.
Restricții și precizări
- ;
Exemplul 1
grupe.in
10 3
fbfbfbfbfb
3 1 2 10
3 3 4 9
4 5 6 7 8
grupe.out
2 1
1 2
2 2
DA
Explicație
Numărul de copii din grupe este , deci diferă prin cel mult ; în prima grupă sunt băieți și o fată, în grupa a doua sunt fete și un băiat, iar în grupa a treia sunt fete și băieți.
Exemplul 2
grupe.in
10 2
fffffbbbbb
7 1 2 3 4 6 7 8
3 5 9 10
grupe.out
3 4
2 1
NU
Explicație
Numărul de copii din prima grupă este iar din grupa a doua , deci diferă prin mai mult decât copil.