Pagini recente » Cod sursa (job #3161560) | Cod sursa (job #932708) | Cod sursa (job #702763) | Cod sursa (job #2283636) | Cod sursa (job #2262723)
//
// main.cpp
// produs_cartezian
//
// Created by Tereza Oprea on 16/10/2018.
// Copyright © 2018 Tereza Oprea. All rights reserved.
//
#include <fstream>
using namespace std;
ifstream fin ("pc.in");
ofstream fout ("pc.out");
int st[20], n, card[20], a[20][20];
int pune_val (int niv)
{
if (st[niv] < card[niv] && niv <= n)
{
st[niv]++;
return 1;
}
return 0;
}
int solutie (int niv)
{
if (niv == n)
return 1;
return 0;
}
void tipar()
{
for (int i=1; i<=n; i++)
fout << a[i][st[i]] << ' ';
fout << '\n';
}
void backtr()
{
int niv = 1, ams;
while (niv>0)
{
ams = pune_val(niv);
if (ams == 1)
{
if (solutie (niv) == 1)
tipar();
else
{
niv++;
st[niv] = 0;
}
}
else
niv--;
}
}
int main ()
{
fin >> n;
for (int i=1; i<=n; i++)
{
fin >> card[i];
for (int j=1; j<=card[i]; j++)
fin >> a[i][j];
}
backtr();
}