Cerinţa
Se citesc două numere naturale nenule n
și k
. Să se afişeze, în ordine lexicografică, aranjamentele de câte k
elemente ale mulţimii {1,2,..,n}
.
Date de intrare
Fişierul de intrare aranjamente.in
conţine pe prima linie numerele n
și k
, separate printr-un spatiu.
Date de ieşire
Fişierul de ieşire aranjamente.out
va conţine pe fiecare linie câte k
valori, separate prin câte un spaţiu, reprezentând elementele unei aranjări.
Restricţii şi precizări
0 < k < n < 9
Exemplu
aranjamente.in
4 2
aranjamente.out
1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Aranjamente:
#include <fstream>
#include <iostream>
#include <cassert>
using namespace std;
ifstream fin("aranjamente.in");
ofstream fout("aranjamente.out");
int n , m , x[10], uz[10];
void afis(int n){
for(int i=1 ; i<=n ; ++i)
fout << x[i] << " ";
fout << endl;
}
void back(int k){
for(int i=1;i<=n;++i)
if(uz[i]==0){
uz[i] = 1;
x[k]=i;
if(k==m)
afis(m);
else
back(k+1);
uz[i] = 0;
}
}
int main(){
fin >> n >> m;
back(1);
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #196 Aranjamente
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #196 Aranjamente de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!