Pagini recente » Cod sursa (job #2262951) | Cod sursa (job #2597685) | Cod sursa (job #541356) | Cod sursa (job #1877847) | Cod sursa (job #947967)
Cod sursa(job #947967)
/// Craciun Catalin
/// Backtracking iterativ
/// Dezastru
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,l,k;
int C[30];
int cate_permutari=0;
void Calcul(){
cate_permutari++;
}
void Afisare(){
for (int i=1;i<=l;i++)
cout<<C[i]<<" ";
cout<<endl;
}
bool Posibil(int p){
bool ok=1;
for (int i=1;i<p && ok;i++)
if (C[p]==C[i])
ok=0;
return ok;
}
int main(){
bool ok;
f>>n>>l;
f.close();
k=1;
C[k]=0;
while (k>0){
ok=0;
while (!ok && C[k]<n){
C[k]++;
ok=Posibil(k);
}
if (!ok)
k--;
else{
if (k==l){
Calcul();
Afisare();
}
else{
k++;
C[k]=0;
}
}
}
return 0;
}