Pagini recente » Cod sursa (job #1649155) | Cod sursa (job #620246) | Cod sursa (job #1327740) | Cod sursa (job #1656787) | Cod sursa (job #1131641)
#include <fstream>
#define NMax 19
using namespace std;
ofstream fout("combinari.out");
short stack[NMax], N, K;
bool valid(short k)
{
short i;
for(i = 1 ; i < k ; ++i)
if(stack[i] == stack[k])
return false;
return true;
}
void back(short niv)
{
if(niv > K)
{
for(short i = 1 ; i <= K ; ++i)
fout << stack[i] << ' ';
fout << '\n';
}
else
{
stack[niv] = stack[niv - 1] - 1;
while(stack[niv] < N)
{
++stack[niv];
if(valid(niv))
back(niv + 1);
}
}
}
int main()
{
ifstream fin("combinari.in");
fin >> N >> K;
fin.close();
stack[0] = 1;
back(1);
fout.close();
return 0;
}