Cerinţa
Se citește un număr natural nenul n
. Să se afişeze, în ordine lexicografică, toate submulțimile nevide ale mulţimii {1,2,..,n}
pentru care diferența dintre oricare două elemente este mai mare decât 1
.
Date de intrare
Fişierul de intrare submultimi1.in
conţine pe prima linie numărul n
.
Date de ieşire
Fişierul de ieşire submultimi1.out
va conţine pe fiecare linie câte o submulțime, elementele unei submulțimi fiind separate printr-un spațiu.
Restricţii şi precizări
1 ≤ n ≤ 10
- elementele fiecărei submulțimi vor fi afișate în ordine crescătoare
Exemplu
submultimi1.in
5
submultimi1.out
1 1 3 1 3 5 1 4 1 5 2 2 4 2 5 3 3 5 4 5
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 Submultimi1:
#include <fstream>
#include <iostream>
#include <cassert>
using namespace std;
ifstream fin("submultimi1.in");
ofstream fout("submultimi1.out");
int n , m , x[10];
void afis(int k){
for(int i=1 ; i<=k ; ++i)
fout << x[i] << " ";
fout << endl;
}
void back(int k){
for(int i=x[k-1]+2;i<=n;++i)
{
x[k]=i;
afis(k);
back(k+1);
}
}
int main(){
fin >> n >> m;
x[0] = -1;
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 #1286 Submultimi1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1286 Submultimi1 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!