Pagini recente » Diferente pentru preoni-2007/runda-finala/poze/deschidere intre reviziile 6 si 4 | Cod sursa (job #1235964) | Diferente pentru preoni-2007/runda-finala/poze/deschidere intre reviziile 6 si 3 | Cod sursa (job #1813092) | Cod sursa (job #2028063)
#include <fstream>
#define var auto
std::ofstream out("combinari.out");
int n, k, *comb;
bool *seen;
void BT(int pos)
{
if (pos > k)
{
for (var i = 1; i <= k; ++i)
out << comb[i] << ' ';
out << '\n';
}
else
for (var i = 1; i <= n; ++i)
if (!seen[i] && comb[pos - 1] < i)
{
comb[pos] = i;
seen[i] = true;
BT(pos + 1);
seen[i] = false;
}
}
int main()
{
std::ifstream in("combinari.in");
in >> n >> k;
comb = new int[k + 1];
seen = new bool[n + 1];
BT(1);
}