Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream f("hmmm.in");
- ofstream g("hmmm.out");
- int n,m,v[11],b[11];
- int verif(int x, int q)
- {
- for(int i=1; i<=q; i++)
- {
- if(x == b[i])
- return 0;
- }
- return 1;
- }
- void backtracking(int q)
- {
- if(q == n+1)
- {
- for(int i=1; i<=n; i++)
- {
- a[i]=c[i]=b[i];
- }
- permutation(b, b);
- }
- else
- {
- for(int i=1; i<=n; i++)
- {
- if(verif(i,q-1))
- {
- b[q]=i;
- backtracking(q+1);
- }
- }
- }
- }
- int permutation(int a[11], int c[11], int rez[11])
- {
- for(int i=1; i<=n; i++)
- rez[i]=a[c[i]];
- for(int i=1; i<=n; i++)
- {
- if(rez[i] != i)
- nr_1=1;
- if(rez[i] != v[i])
- nr_2=1;
- c[i]=rez[i];
- }
- }
- int main()
- {
- f>>n>>m;
- for(int i=1; i<=n; i++)
- f>>v[i];
- backtracking(1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement