Revizia anterioară Revizia următoare
Fișierul intrare/ieșire | permutari1.in, permutari1.out | Sursă | IQ Academy |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de |
|
Timp de execuție pe test | 0.35 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Permutări1 (clasa a 7-a)
Notă: aceasta este o problemă de introducere în recursivitate. Atenție, funcția recursivă de generare a permutărilor trebuie scrisă eficient. Succes!
Dat n ≤ 10 considerăm permutările cifrelor de la 0 la {n}-1. Fiecare permutare va fi un număr de n cifre. Ordonînd aceste numere ele vor căpăta poziții. De exemplu, pentru n = 3 vom avea numerele (în ordine): 12, 21, 102, 120, 201, 210. Poziția lui 12 este 1, poziția lui 102 este 3, iar poziția lui 120 este 4.
Cerință
Dat n și pozițiile unor numere de n cifre, în ordine crescătoare, să se afișeze suma numerelor de la acele poziții.
Date de intrare
Fișierul de intrare permutari1.in conține pe prima linie numărul n. Pe următoarele linii se vor afla pozițiile numerelor de n cifre, în ordine crescătoare, cîte una pe linie. Pe ultima linie a fișierului se va afla numărul 0 (terminator de poziții).
Date de ieșire
În fișierul de ieșire permutari1.out se va scrie suma acelor numere de n cifre (formate din permutările cifrelor de la 0 la *n*-1) ale căror poziții au fost citite din fișierul de intrare.
Restricții
- 1 ≤ n ≤ 10
- Numărul de poziții ce se vor citi din fișierul de intrare este mai mic sau egal decît minimul dintre n! și 50000
- Pozițiile se află în ordine crescătoare în fișierul de intrare
- Pozițiile nu se repetă
- Pozițiile sînt între 1 și n! (numărul de permutări de n cifre)
Exemplu
permutari1.in | permutari1.out | Explicație |
---|---|---|
3 1 3 4 0 |
234 |
Permutările posibile sînt: poziția 1: 012 poziția 2: 021 poziția 3: 102 poziția 4: 120 poziția 5: 201 poziția 6: 210 Efectuînd suma numerelor de pe pozițiile 1, 3 și 4 obținem 12 + 102 + 120 = 234. |