Cod sursa(job #360262)
Utilizator | Data | 30 octombrie 2009 18:48:16 | |
---|---|---|---|
Problema | Combinari | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream I ("combinari.in");
ofstream O ("combinari.out");
int n, p, comb[10], use[10];
void show();
void back (int k);
int check();
int main () {
I >> n >> p;
back(1);
return 0;
}
void show () {
for (int i=1;i<=p;i++)
O << comb[i] <<" ";
O<<"\n";
}
void back (int k) {
int i;
for (i=1;i<=n;i++) {
if (use[i]==0 && comb[k-1]<i) {
use[i]=1;
comb[k]=i;
if (k==p )
show ();
else
back(k+1);
use[i]=0;
}
}
}