Untitled
unknown
plain_text
2 years ago
771 B
4
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...