Concursul "Urmasii lui Moisil" 2002

Clasa a X-a

Problema 1 - Cadou

De Craciun, un grup de n copii s-au gândit sa faca un cadou copiilor unei familii sarace, care locuieste pe aceeasi strada cu ei. Fiecare copil a adus din casa cel putin o portocala si cel mult 10 portocale. Copiii din aceeasi familie (pe care îi vom considera frati) aduc fiecare acelasi numar de portocale. Cadoul consta din cele p portocale adunate.

Cerinta
Scrieti un program care, cunoscând numarul de copii, relatiile dintre acestia si numarul de portocale adunate, determina câte portocale a adus fiecare copil. Programul va genera toate solutiile în ordine lexicografica.

Date de intrare
Fisierul de intrare CADOU.IN contine:

CADOU.IN Semnificatie
n
x1 f11 … f1x1
x2 f21 … f2x2
...
xn fn1 … fnxn
p
numarul de copii
xi reprezinta numarul de frati ai copilului i
daca xi<>0, fi1 … fixi reprezinta fratii copilului i

numarul total de portocale

Date de iesire

Fisierul CADOU.OUT, contine câte o linie pentru fiecare solutie generata. O solutie este formata din n valori separate prin spatii de forma:
nr1 nr2 ... nrn
unde nri reprezinta numarul de portocale aduse de copilul i.

Restrictii
- 1 <=n <=30
- 1 <=p <=50
- Numarul de familii nu depaseste 10.

Exemplu

CADOU.IN CADOU.OUT
3
1 2
1 1
0
5
1 1 3
2 2 1

Timp maxim de executie: 1 secunda/test