Untitled
unknown
plain_text
2 years ago
771 B
5
Indexable
#include <bits/stdc++.h>
using namespace std;
ifstream fin("2gen.in");
ofstream fout("2gen.out");
int n, m, v[10], k, cnt;
void afisare(int k, int v[]){
for(int i=1; i<=k; i++){
fout<<v[i]<<" ";
}
fout<<endl;
}
bool isok(int k, int v[]){
cnt=0;
for(int i=1; i<=k; i++){
if(v[i]==v[k]) cnt++;
}
if(cnt>2) return false;
return true;
}
void backtracking(int n, int v[], int k, int m){
for(int i=1; i<=n; i++){
v[k]=i;
if(isok(k, v)){
if(k==m){
afisare(k, v);
}
else{
backtracking(n, v, k+1, m);
}
}
}
}
void solve(){
fin>>n>>m;
backtracking(n, v, 1, m);
}
int main(){
solve();
return 0;
}
Editor is loading...