Diferente pentru problema/avere intre reviziile #1 si #6

Nu exista diferente intre titluri.

Diferente intre continut:

==Include(page="template/taskheader" task_id="avere")==
 
==Include(page="template/raw")==
 
Avere
 
Italag a fost toata viata pasionat de speculatii bursiere reusind sa adune o avere considerabila. Fiind un tip original si pasiont de matematica a scris un testament inedit. Testamentul contine doua numere naturale: S reprezentand averea ce trebuie impartita mostenitorilor si N reprezentand alegerea sa pentru impartirea averii. Italag decide sa-si imparta toata averea, iar sumele pe care le acorda mostenitorilor sa fie in ordine strict descrescatoare.
 
De exemplu daca averea ar fi 7 unitati monetare, ar putea fi impartita astfel:
 
4 (unitati primului mostenitor) 3 (unitati celui de-al doilea), sau
 
6 (unitati primului mostenitor) 1 (unitati celui de-al doilea), sau
 
7 (doar primului mostenitor), sau
 
5 (unitati primului mostenitor) 2 (unitati celui de-al doilea), sau
 
4 (unitati primului mostenitor) 2 (unitati celui de-al doilea) 1 ( unitate celui de-al treilea ).
 
Vazand ca ii este foarte greu sa verifice daca nu cumva a omis vreo varianta de impartire , Italag le-a scris in ordine lexicografica. Pentru exemplul de mai sus: 4 2 1; 4 3; 5 2; 6 1; 7.
 
A hotarat ca banii sa fie distribuiti conform celei de a N-a posibilitati din ordinea lexicografica.
 
h2. Cerinta
 
Scrieti un program care pentru numerele S, N date sa calculeze si sa afiseze numarul total de posibilitati de impartire a averii, precum si modul in care se face aceasta impartire conform cu a N-a posibilitate din ordinea lexicografica.
 
h2. Date de Intrare
 
Fisierul de intrare avere.in contine o singura linie pe care se afla doua numere naturale separate printr-un singur spatiu:
 
- primul numar (S) reprezinta suma totala
 
- cel de-al doilea (N) reprezinta numarul de ordine al pozitiei cautate
 
h2. Date de Iesire
 
Fisierul de iesire avere.out va contine doua linii:
 
- pe prima linie va fi afisat numarul total de modalitati de impartire a averii;
 
- pe cea de a doua linie va fi afisata a N-a posibilitate de impartire a lui S conform cerintei in ordine lexicografica. Elementele sale vor fi separate prin cate un spatiu.
 
h2. Restrictii si precizari
 
o 1 < S < 701
o 0 < N < numarul total de posibilitati cu suma S
o Se acorda punctaj partial pentru fiecare test: 5 puncte pentru determinarea corecta a numarului de posibilitati de impartire a lui S si 5 puncte pentru determinarea corecta a posibilitatii N, din ordinea lexicografica
o Posibilitatile de impartire a averii sunt numerotate incepand cu 1
o Fie x = (x[1], x[2] ..., x[m]) si y = (y[1], y[2] ..., y[p]) doua siruri. Spunem ca x preceda pe y din punct de vedere lexicografic, daca exista k>=1, astfel incat x[i] = y[i], pentru orice i = 1, k-1 si x[k] < y[k].
 
h2. Exemplu
 
 
|avere.in |avere.out |
 
|7 2 |5 |
| | |
| |4 3 |
 
|12 5 |15 |
| | |
| |6 5 1 |
 
|700 912345678912345678 |962056220379782044 |
| | |
| |175 68 63 58 54 45 40 36 34 32 20 18 17 14 11 9 3 2 1 |
==Include(page="template/taskheader" task_id="avere")==
 
Italag a fost toata viata pasionat de speculatii bursiere reusind sa adune o avere considerabila. Fiind un tip original si pasiont de matematica a scris un testament inedit. Testamentul contine doua numere naturale: $S$ reprezentand averea ce trebuie impartita mostenitorilor si $N$ reprezentand alegerea sa pentru impartirea averii. Italag decide sa-si imparta toata averea, iar sumele pe care le acorda mostenitorilor sa fie in ordine strict descrescatoare.
De exemplu daca averea ar fi $7$ unitati monetare, ar putea fi impartita astfel:
 
* $4$ (unitati primului mostenitor) $3$ (unitati celui de-al doilea), sau
* $6$ (unitati primului mostenitor) $1$ (unitati celui de-al doilea), sau
* $7$ (doar primului mostenitor), sau
* $5$ (unitati primului mostenitor) $2$ (unitati celui de-al doilea), sau
* $4$ (unitati primului mostenitor) $2$ (unitati celui de-al doilea) $1$ ( unitate celui de-al treilea ).
 
Vazand ca ii este foarte greu sa verifice daca nu cumva a omis vreo varianta de impartire , Italag le-a scris in ordine lexicografica. Pentru exemplul de mai sus: {$4 2 1$}; {$4 3$}; {$5 2$}; {$6 1$}; {$7$}.
A hotarat ca banii sa fie distribuiti conform celei de a {$N$}-a posibilitati din ordinea lexicografica.
 
h2. Cerinta
 
Scrieti un program care pentru numerele {$S$}, $N$ date sa calculeze si sa afiseze numarul total de posibilitati de impartire a averii, precum si modul in care se face aceasta impartire conform cu a {$N$}-a posibilitate din ordinea lexicografica.
 
h2. Date de Intrare
 
Fisierul de intrare $avere.in$ contine o singura linie pe care se afla doua numere naturale separate printr-un singur spatiu:
 
* primul numar $S$ reprezinta suma totala
* cel de-al doilea $N$ reprezinta numarul de ordine al pozitiei cautate
 
h2. Date de Iesire
 
Fisierul de iesire $avere.out$ va contine doua linii:
 
* pe prima linie va fi afisat numarul total de modalitati de impartire a averii
* pe cea de a doua linie va fi afisata a {$N$}-a posibilitate de impartire a lui $S$ conform cerintei in ordine lexicografica. Elementele sale vor fi separate prin cate un spatiu.
 
h2. Restrictii si precizari
 
* $1 < S < 701$
* $0 < N <$ numarul total de posibilitati cu suma $S$
* Se acorda punctaj partial pentru fiecare test: $5$ puncte pentru determinarea corecta a numarului de posibilitati de impartire a lui $S$ si $5$ puncte pentru determinarea corecta a posibilitatii {$N$}, din ordinea lexicografica
* Posibilitatile de impartire a averii sunt numerotate incepand cu $1$
* Fie $x = (x{~1~}, x{~2~} ..., x{~m~})$ si $y = (y{~1~}, y{~2~} ..., y{~p~})$ doua siruri. Spunem ca $x$ preceda pe $y$ din punct de vedere lexicografic, daca exista {$1 &le; k$}, astfel incat {$x{~i~} = y{~i~}$}, pentru orice {$1 &le; i &le; k-1$} si {$x{~k~} < y{~k~}$}.
 
h2. Exemplu
 
table(example). |_. avere.in |_. avere.out |
| 7 2
| 5
4 3 |
| 12 5
| 15
6 5 1 |
| 700 912345678912345678
| 962056220379782044
175 68 63 58 54 45 40 36 34 32 20 18 17 14 11 9 3 2 1 |
 
 
==Include(page="template/taskfooter" task_id="avere")==
==Include(page="template/taskfooter" task_id="avere")==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
1056