Pagini recente » Istoria paginii runda/simulareaii/clasament | Istoria paginii runda/clasa_9_nationala_2012-2016/clasament | Monitorul de evaluare | Istoria paginii runda/testare | Cod sursa (job #1001256)
#include <iostream>
#include <fstream>
#define nmax 19
using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");
int n,k,st[nmax],m;
void write(){
for (int i=1; i<=m; i++)
out << st[i] << " ";
out << "\n";
}
bool val(int k){
for (int i=1; i<k; i++)
if (st[k]==st[i]) return false;
return true;
}
void back(int k){
for (int i=1; i<=n; i++){
st[k]=i;
if (val(k) && st[k]>st[k-1]){
if (st[1]>n-m+1) break;
if (k==m) write();
else back(k+1);
}
}
}
int main()
{
in >> n >>m;
back(1);
return 0;
}