Advertisement
Guest User

Untitled

a guest
Jun 26th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. //Checar a posição lexicogŕafica de uma ordem de um vetor, O(n * n!)
  2. int n, v[10], u[10], ans, stop;
  3. cin >> n;
  4. for(int i = 0; i < n; ++i) cin >> v[i]; //leitura, O(n)
  5. for(int i = 0; i < n; ++i) u[i] = v[i]; //copio o vetor para outro, O(n)
  6. sort(u, u + n) //ordenação, O(nlog(n))
  7. for(ans = 0; 1; ++ans){
  8. stop = 0;
  9. for(int i = 0; i < n; ++i){ //checa se os vetores são iguais, O(n)
  10. if(u[i] != v[i]) break;
  11. if(i == n - 1) stop = 1;
  12. }
  13. if(stop) break;
  14. next_permutation(u, u + n); //transforma o u na próxima ordenação do vetor na ordem lexicográfica, pode se repetir n! vezes
  15. }
  16. cout << ans << "\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement