fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int n, ans[7], p[501];
  6.  
  7. void print(){
  8. for(int j = 1; j <= 6; j++)
  9. cout << ans[j] << " ";
  10. cout << endl;
  11. }
  12.  
  13. bool check(){
  14. for(int j = 1; j <= 6; j++)
  15. if(ans[j] == j) return false;
  16. if(n == 1) return true;
  17. if(ans[p[0]] == p[1] || p[0] == p[1]) return false;
  18. for(int j = 1; j < n-1; j++)
  19. if(ans[p[j]] == p[j-1] || p[j] == p[j-1] || p[j] == p[j+1] || ans[p[j]] == p[j+1]) return false;
  20. if(ans[p[n-1]] == p[n-2] || p[n-1] == p[n-2]) return false;
  21. return true;
  22. }
  23.  
  24. bool foo(int mask, int curr){
  25. if(mask == ((1 << 6) - 1)){
  26. print();
  27. return false;
  28. }
  29. for(int j = 0; j < 6; j++){
  30. if(((1 << j)&mask)) continue;
  31. ans[j+1] = curr;
  32. bool temp = foo((mask | (1 << j)), curr+1);
  33. if(temp) return true;
  34. }
  35. return false;
  36. }
  37.  
  38. int main(){
  39. int t;
  40. cin >> t;
  41. while(t--){
  42. for(int j = 0; j < 7; j++)
  43. ans[j] = -1;
  44. cin >> n;
  45. for(int j = 0; j < n; j++)
  46. cin >> p[j];
  47. if(foo(0, 1)){
  48. for(int j = 1; j <= 6; j++)
  49. cout << ans[j] << " ";
  50. cout << endl;
  51. }
  52. else cout << "-1\n";
  53. }
  54. return 0;
  55. }
  56.  
Success #stdin #stdout 0s 16064KB
stdin
1
1
1
stdout
1 2 3 4 5 6 
1 2 3 4 6 5 
1 2 3 5 4 6 
1 2 3 6 4 5 
1 2 3 5 6 4 
1 2 3 6 5 4 
1 2 4 3 5 6 
1 2 4 3 6 5 
1 2 5 3 4 6 
1 2 6 3 4 5 
1 2 5 3 6 4 
1 2 6 3 5 4 
1 2 4 5 3 6 
1 2 4 6 3 5 
1 2 5 4 3 6 
1 2 6 4 3 5 
1 2 5 6 3 4 
1 2 6 5 3 4 
1 2 4 5 6 3 
1 2 4 6 5 3 
1 2 5 4 6 3 
1 2 6 4 5 3 
1 2 5 6 4 3 
1 2 6 5 4 3 
1 3 2 4 5 6 
1 3 2 4 6 5 
1 3 2 5 4 6 
1 3 2 6 4 5 
1 3 2 5 6 4 
1 3 2 6 5 4 
1 4 2 3 5 6 
1 4 2 3 6 5 
1 5 2 3 4 6 
1 6 2 3 4 5 
1 5 2 3 6 4 
1 6 2 3 5 4 
1 4 2 5 3 6 
1 4 2 6 3 5 
1 5 2 4 3 6 
1 6 2 4 3 5 
1 5 2 6 3 4 
1 6 2 5 3 4 
1 4 2 5 6 3 
1 4 2 6 5 3 
1 5 2 4 6 3 
1 6 2 4 5 3 
1 5 2 6 4 3 
1 6 2 5 4 3 
1 3 4 2 5 6 
1 3 4 2 6 5 
1 3 5 2 4 6 
1 3 6 2 4 5 
1 3 5 2 6 4 
1 3 6 2 5 4 
1 4 3 2 5 6 
1 4 3 2 6 5 
1 5 3 2 4 6 
1 6 3 2 4 5 
1 5 3 2 6 4 
1 6 3 2 5 4 
1 4 5 2 3 6 
1 4 6 2 3 5 
1 5 4 2 3 6 
1 6 4 2 3 5 
1 5 6 2 3 4 
1 6 5 2 3 4 
1 4 5 2 6 3 
1 4 6 2 5 3 
1 5 4 2 6 3 
1 6 4 2 5 3 
1 5 6 2 4 3 
1 6 5 2 4 3 
1 3 4 5 2 6 
1 3 4 6 2 5 
1 3 5 4 2 6 
1 3 6 4 2 5 
1 3 5 6 2 4 
1 3 6 5 2 4 
1 4 3 5 2 6 
1 4 3 6 2 5 
1 5 3 4 2 6 
1 6 3 4 2 5 
1 5 3 6 2 4 
1 6 3 5 2 4 
1 4 5 3 2 6 
1 4 6 3 2 5 
1 5 4 3 2 6 
1 6 4 3 2 5 
1 5 6 3 2 4 
1 6 5 3 2 4 
1 4 5 6 2 3 
1 4 6 5 2 3 
1 5 4 6 2 3 
1 6 4 5 2 3 
1 5 6 4 2 3 
1 6 5 4 2 3 
1 3 4 5 6 2 
1 3 4 6 5 2 
1 3 5 4 6 2 
1 3 6 4 5 2 
1 3 5 6 4 2 
1 3 6 5 4 2 
1 4 3 5 6 2 
1 4 3 6 5 2 
1 5 3 4 6 2 
1 6 3 4 5 2 
1 5 3 6 4 2 
1 6 3 5 4 2 
1 4 5 3 6 2 
1 4 6 3 5 2 
1 5 4 3 6 2 
1 6 4 3 5 2 
1 5 6 3 4 2 
1 6 5 3 4 2 
1 4 5 6 3 2 
1 4 6 5 3 2 
1 5 4 6 3 2 
1 6 4 5 3 2 
1 5 6 4 3 2 
1 6 5 4 3 2 
2 1 3 4 5 6 
2 1 3 4 6 5 
2 1 3 5 4 6 
2 1 3 6 4 5 
2 1 3 5 6 4 
2 1 3 6 5 4 
2 1 4 3 5 6 
2 1 4 3 6 5 
2 1 5 3 4 6 
2 1 6 3 4 5 
2 1 5 3 6 4 
2 1 6 3 5 4 
2 1 4 5 3 6 
2 1 4 6 3 5 
2 1 5 4 3 6 
2 1 6 4 3 5 
2 1 5 6 3 4 
2 1 6 5 3 4 
2 1 4 5 6 3 
2 1 4 6 5 3 
2 1 5 4 6 3 
2 1 6 4 5 3 
2 1 5 6 4 3 
2 1 6 5 4 3 
3 1 2 4 5 6 
3 1 2 4 6 5 
3 1 2 5 4 6 
3 1 2 6 4 5 
3 1 2 5 6 4 
3 1 2 6 5 4 
4 1 2 3 5 6 
4 1 2 3 6 5 
5 1 2 3 4 6 
6 1 2 3 4 5 
5 1 2 3 6 4 
6 1 2 3 5 4 
4 1 2 5 3 6 
4 1 2 6 3 5 
5 1 2 4 3 6 
6 1 2 4 3 5 
5 1 2 6 3 4 
6 1 2 5 3 4 
4 1 2 5 6 3 
4 1 2 6 5 3 
5 1 2 4 6 3 
6 1 2 4 5 3 
5 1 2 6 4 3 
6 1 2 5 4 3 
3 1 4 2 5 6 
3 1 4 2 6 5 
3 1 5 2 4 6 
3 1 6 2 4 5 
3 1 5 2 6 4 
3 1 6 2 5 4 
4 1 3 2 5 6 
4 1 3 2 6 5 
5 1 3 2 4 6 
6 1 3 2 4 5 
5 1 3 2 6 4 
6 1 3 2 5 4 
4 1 5 2 3 6 
4 1 6 2 3 5 
5 1 4 2 3 6 
6 1 4 2 3 5 
5 1 6 2 3 4 
6 1 5 2 3 4 
4 1 5 2 6 3 
4 1 6 2 5 3 
5 1 4 2 6 3 
6 1 4 2 5 3 
5 1 6 2 4 3 
6 1 5 2 4 3 
3 1 4 5 2 6 
3 1 4 6 2 5 
3 1 5 4 2 6 
3 1 6 4 2 5 
3 1 5 6 2 4 
3 1 6 5 2 4 
4 1 3 5 2 6 
4 1 3 6 2 5 
5 1 3 4 2 6 
6 1 3 4 2 5 
5 1 3 6 2 4 
6 1 3 5 2 4 
4 1 5 3 2 6 
4 1 6 3 2 5 
5 1 4 3 2 6 
6 1 4 3 2 5 
5 1 6 3 2 4 
6 1 5 3 2 4 
4 1 5 6 2 3 
4 1 6 5 2 3 
5 1 4 6 2 3 
6 1 4 5 2 3 
5 1 6 4 2 3 
6 1 5 4 2 3 
3 1 4 5 6 2 
3 1 4 6 5 2 
3 1 5 4 6 2 
3 1 6 4 5 2 
3 1 5 6 4 2 
3 1 6 5 4 2 
4 1 3 5 6 2 
4 1 3 6 5 2 
5 1 3 4 6 2 
6 1 3 4 5 2 
5 1 3 6 4 2 
6 1 3 5 4 2 
4 1 5 3 6 2 
4 1 6 3 5 2 
5 1 4 3 6 2 
6 1 4 3 5 2 
5 1 6 3 4 2 
6 1 5 3 4 2 
4 1 5 6 3 2 
4 1 6 5 3 2 
5 1 4 6 3 2 
6 1 4 5 3 2 
5 1 6 4 3 2 
6 1 5 4 3 2 
2 3 1 4 5 6 
2 3 1 4 6 5 
2 3 1 5 4 6 
2 3 1 6 4 5 
2 3 1 5 6 4 
2 3 1 6 5 4 
2 4 1 3 5 6 
2 4 1 3 6 5 
2 5 1 3 4 6 
2 6 1 3 4 5 
2 5 1 3 6 4 
2 6 1 3 5 4 
2 4 1 5 3 6 
2 4 1 6 3 5 
2 5 1 4 3 6 
2 6 1 4 3 5 
2 5 1 6 3 4 
2 6 1 5 3 4 
2 4 1 5 6 3 
2 4 1 6 5 3 
2 5 1 4 6 3 
2 6 1 4 5 3 
2 5 1 6 4 3 
2 6 1 5 4 3 
3 2 1 4 5 6 
3 2 1 4 6 5 
3 2 1 5 4 6 
3 2 1 6 4 5 
3 2 1 5 6 4 
3 2 1 6 5 4 
4 2 1 3 5 6 
4 2 1 3 6 5 
5 2 1 3 4 6 
6 2 1 3 4 5 
5 2 1 3 6 4 
6 2 1 3 5 4 
4 2 1 5 3 6 
4 2 1 6 3 5 
5 2 1 4 3 6 
6 2 1 4 3 5 
5 2 1 6 3 4 
6 2 1 5 3 4 
4 2 1 5 6 3 
4 2 1 6 5 3 
5 2 1 4 6 3 
6 2 1 4 5 3 
5 2 1 6 4 3 
6 2 1 5 4 3 
3 4 1 2 5 6 
3 4 1 2 6 5 
3 5 1 2 4 6 
3 6 1 2 4 5 
3 5 1 2 6 4 
3 6 1 2 5 4 
4 3 1 2 5 6 
4 3 1 2 6 5 
5 3 1 2 4 6 
6 3 1 2 4 5 
5 3 1 2 6 4 
6 3 1 2 5 4 
4 5 1 2 3 6 
4 6 1 2 3 5 
5 4 1 2 3 6 
6 4 1 2 3 5 
5 6 1 2 3 4 
6 5 1 2 3 4 
4 5 1 2 6 3 
4 6 1 2 5 3 
5 4 1 2 6 3 
6 4 1 2 5 3 
5 6 1 2 4 3 
6 5 1 2 4 3 
3 4 1 5 2 6 
3 4 1 6 2 5 
3 5 1 4 2 6 
3 6 1 4 2 5 
3 5 1 6 2 4 
3 6 1 5 2 4 
4 3 1 5 2 6 
4 3 1 6 2 5 
5 3 1 4 2 6 
6 3 1 4 2 5 
5 3 1 6 2 4 
6 3 1 5 2 4 
4 5 1 3 2 6 
4 6 1 3 2 5 
5 4 1 3 2 6 
6 4 1 3 2 5 
5 6 1 3 2 4 
6 5 1 3 2 4 
4 5 1 6 2 3 
4 6 1 5 2 3 
5 4 1 6 2 3 
6 4 1 5 2 3 
5 6 1 4 2 3 
6 5 1 4 2 3 
3 4 1 5 6 2 
3 4 1 6 5 2 
3 5 1 4 6 2 
3 6 1 4 5 2 
3 5 1 6 4 2 
3 6 1 5 4 2 
4 3 1 5 6 2 
4 3 1 6 5 2 
5 3 1 4 6 2 
6 3 1 4 5 2 
5 3 1 6 4 2 
6 3 1 5 4 2 
4 5 1 3 6 2 
4 6 1 3 5 2 
5 4 1 3 6 2 
6 4 1 3 5 2 
5 6 1 3 4 2 
6 5 1 3 4 2 
4 5 1 6 3 2 
4 6 1 5 3 2 
5 4 1 6 3 2 
6 4 1 5 3 2 
5 6 1 4 3 2 
6 5 1 4 3 2 
2 3 4 1 5 6 
2 3 4 1 6 5 
2 3 5 1 4 6 
2 3 6 1 4 5 
2 3 5 1 6 4 
2 3 6 1 5 4 
2 4 3 1 5 6 
2 4 3 1 6 5 
2 5 3 1 4 6 
2 6 3 1 4 5 
2 5 3 1 6 4 
2 6 3 1 5 4 
2 4 5 1 3 6 
2 4 6 1 3 5 
2 5 4 1 3 6 
2 6 4 1 3 5 
2 5 6 1 3 4 
2 6 5 1 3 4 
2 4 5 1 6 3 
2 4 6 1 5 3 
2 5 4 1 6 3 
2 6 4 1 5 3 
2 5 6 1 4 3 
2 6 5 1 4 3 
3 2 4 1 5 6 
3 2 4 1 6 5 
3 2 5 1 4 6 
3 2 6 1 4 5 
3 2 5 1 6 4 
3 2 6 1 5 4 
4 2 3 1 5 6 
4 2 3 1 6 5 
5 2 3 1 4 6 
6 2 3 1 4 5 
5 2 3 1 6 4 
6 2 3 1 5 4 
4 2 5 1 3 6 
4 2 6 1 3 5 
5 2 4 1 3 6 
6 2 4 1 3 5 
5 2 6 1 3 4 
6 2 5 1 3 4 
4 2 5 1 6 3 
4 2 6 1 5 3 
5 2 4 1 6 3 
6 2 4 1 5 3 
5 2 6 1 4 3 
6 2 5 1 4 3 
3 4 2 1 5 6 
3 4 2 1 6 5 
3 5 2 1 4 6 
3 6 2 1 4 5 
3 5 2 1 6 4 
3 6 2 1 5 4 
4 3 2 1 5 6 
4 3 2 1 6 5 
5 3 2 1 4 6 
6 3 2 1 4 5 
5 3 2 1 6 4 
6 3 2 1 5 4 
4 5 2 1 3 6 
4 6 2 1 3 5 
5 4 2 1 3 6 
6 4 2 1 3 5 
5 6 2 1 3 4 
6 5 2 1 3 4 
4 5 2 1 6 3 
4 6 2 1 5 3 
5 4 2 1 6 3 
6 4 2 1 5 3 
5 6 2 1 4 3 
6 5 2 1 4 3 
3 4 5 1 2 6 
3 4 6 1 2 5 
3 5 4 1 2 6 
3 6 4 1 2 5 
3 5 6 1 2 4 
3 6 5 1 2 4 
4 3 5 1 2 6 
4 3 6 1 2 5 
5 3 4 1 2 6 
6 3 4 1 2 5 
5 3 6 1 2 4 
6 3 5 1 2 4 
4 5 3 1 2 6 
4 6 3 1 2 5 
5 4 3 1 2 6 
6 4 3 1 2 5 
5 6 3 1 2 4 
6 5 3 1 2 4 
4 5 6 1 2 3 
4 6 5 1 2 3 
5 4 6 1 2 3 
6 4 5 1 2 3 
5 6 4 1 2 3 
6 5 4 1 2 3 
3 4 5 1 6 2 
3 4 6 1 5 2 
3 5 4 1 6 2 
3 6 4 1 5 2 
3 5 6 1 4 2 
3 6 5 1 4 2 
4 3 5 1 6 2 
4 3 6 1 5 2 
5 3 4 1 6 2 
6 3 4 1 5 2 
5 3 6 1 4 2 
6 3 5 1 4 2 
4 5 3 1 6 2 
4 6 3 1 5 2 
5 4 3 1 6 2 
6 4 3 1 5 2 
5 6 3 1 4 2 
6 5 3 1 4 2 
4 5 6 1 3 2 
4 6 5 1 3 2 
5 4 6 1 3 2 
6 4 5 1 3 2 
5 6 4 1 3 2 
6 5 4 1 3 2 
2 3 4 5 1 6 
2 3 4 6 1 5 
2 3 5 4 1 6 
2 3 6 4 1 5 
2 3 5 6 1 4 
2 3 6 5 1 4 
2 4 3 5 1 6 
2 4 3 6 1 5 
2 5 3 4 1 6 
2 6 3 4 1 5 
2 5 3 6 1 4 
2 6 3 5 1 4 
2 4 5 3 1 6 
2 4 6 3 1 5 
2 5 4 3 1 6 
2 6 4 3 1 5 
2 5 6 3 1 4 
2 6 5 3 1 4 
2 4 5 6 1 3 
2 4 6 5 1 3 
2 5 4 6 1 3 
2 6 4 5 1 3 
2 5 6 4 1 3 
2 6 5 4 1 3 
3 2 4 5 1 6 
3 2 4 6 1 5 
3 2 5 4 1 6 
3 2 6 4 1 5 
3 2 5 6 1 4 
3 2 6 5 1 4 
4 2 3 5 1 6 
4 2 3 6 1 5 
5 2 3 4 1 6 
6 2 3 4 1 5 
5 2 3 6 1 4 
6 2 3 5 1 4 
4 2 5 3 1 6 
4 2 6 3 1 5 
5 2 4 3 1 6 
6 2 4 3 1 5 
5 2 6 3 1 4 
6 2 5 3 1 4 
4 2 5 6 1 3 
4 2 6 5 1 3 
5 2 4 6 1 3 
6 2 4 5 1 3 
5 2 6 4 1 3 
6 2 5 4 1 3 
3 4 2 5 1 6 
3 4 2 6 1 5 
3 5 2 4 1 6 
3 6 2 4 1 5 
3 5 2 6 1 4 
3 6 2 5 1 4 
4 3 2 5 1 6 
4 3 2 6 1 5 
5 3 2 4 1 6 
6 3 2 4 1 5 
5 3 2 6 1 4 
6 3 2 5 1 4 
4 5 2 3 1 6 
4 6 2 3 1 5 
5 4 2 3 1 6 
6 4 2 3 1 5 
5 6 2 3 1 4 
6 5 2 3 1 4 
4 5 2 6 1 3 
4 6 2 5 1 3 
5 4 2 6 1 3 
6 4 2 5 1 3 
5 6 2 4 1 3 
6 5 2 4 1 3 
3 4 5 2 1 6 
3 4 6 2 1 5 
3 5 4 2 1 6 
3 6 4 2 1 5 
3 5 6 2 1 4 
3 6 5 2 1 4 
4 3 5 2 1 6 
4 3 6 2 1 5 
5 3 4 2 1 6 
6 3 4 2 1 5 
5 3 6 2 1 4 
6 3 5 2 1 4 
4 5 3 2 1 6 
4 6 3 2 1 5 
5 4 3 2 1 6 
6 4 3 2 1 5 
5 6 3 2 1 4 
6 5 3 2 1 4 
4 5 6 2 1 3 
4 6 5 2 1 3 
5 4 6 2 1 3 
6 4 5 2 1 3 
5 6 4 2 1 3 
6 5 4 2 1 3 
3 4 5 6 1 2 
3 4 6 5 1 2 
3 5 4 6 1 2 
3 6 4 5 1 2 
3 5 6 4 1 2 
3 6 5 4 1 2 
4 3 5 6 1 2 
4 3 6 5 1 2 
5 3 4 6 1 2 
6 3 4 5 1 2 
5 3 6 4 1 2 
6 3 5 4 1 2 
4 5 3 6 1 2 
4 6 3 5 1 2 
5 4 3 6 1 2 
6 4 3 5 1 2 
5 6 3 4 1 2 
6 5 3 4 1 2 
4 5 6 3 1 2 
4 6 5 3 1 2 
5 4 6 3 1 2 
6 4 5 3 1 2 
5 6 4 3 1 2 
6 5 4 3 1 2 
2 3 4 5 6 1 
2 3 4 6 5 1 
2 3 5 4 6 1 
2 3 6 4 5 1 
2 3 5 6 4 1 
2 3 6 5 4 1 
2 4 3 5 6 1 
2 4 3 6 5 1 
2 5 3 4 6 1 
2 6 3 4 5 1 
2 5 3 6 4 1 
2 6 3 5 4 1 
2 4 5 3 6 1 
2 4 6 3 5 1 
2 5 4 3 6 1 
2 6 4 3 5 1 
2 5 6 3 4 1 
2 6 5 3 4 1 
2 4 5 6 3 1 
2 4 6 5 3 1 
2 5 4 6 3 1 
2 6 4 5 3 1 
2 5 6 4 3 1 
2 6 5 4 3 1 
3 2 4 5 6 1 
3 2 4 6 5 1 
3 2 5 4 6 1 
3 2 6 4 5 1 
3 2 5 6 4 1 
3 2 6 5 4 1 
4 2 3 5 6 1 
4 2 3 6 5 1 
5 2 3 4 6 1 
6 2 3 4 5 1 
5 2 3 6 4 1 
6 2 3 5 4 1 
4 2 5 3 6 1 
4 2 6 3 5 1 
5 2 4 3 6 1 
6 2 4 3 5 1 
5 2 6 3 4 1 
6 2 5 3 4 1 
4 2 5 6 3 1 
4 2 6 5 3 1 
5 2 4 6 3 1 
6 2 4 5 3 1 
5 2 6 4 3 1 
6 2 5 4 3 1 
3 4 2 5 6 1 
3 4 2 6 5 1 
3 5 2 4 6 1 
3 6 2 4 5 1 
3 5 2 6 4 1 
3 6 2 5 4 1 
4 3 2 5 6 1 
4 3 2 6 5 1 
5 3 2 4 6 1 
6 3 2 4 5 1 
5 3 2 6 4 1 
6 3 2 5 4 1 
4 5 2 3 6 1 
4 6 2 3 5 1 
5 4 2 3 6 1 
6 4 2 3 5 1 
5 6 2 3 4 1 
6 5 2 3 4 1 
4 5 2 6 3 1 
4 6 2 5 3 1 
5 4 2 6 3 1 
6 4 2 5 3 1 
5 6 2 4 3 1 
6 5 2 4 3 1 
3 4 5 2 6 1 
3 4 6 2 5 1 
3 5 4 2 6 1 
3 6 4 2 5 1 
3 5 6 2 4 1 
3 6 5 2 4 1 
4 3 5 2 6 1 
4 3 6 2 5 1 
5 3 4 2 6 1 
6 3 4 2 5 1 
5 3 6 2 4 1 
6 3 5 2 4 1 
4 5 3 2 6 1 
4 6 3 2 5 1 
5 4 3 2 6 1 
6 4 3 2 5 1 
5 6 3 2 4 1 
6 5 3 2 4 1 
4 5 6 2 3 1 
4 6 5 2 3 1 
5 4 6 2 3 1 
6 4 5 2 3 1 
5 6 4 2 3 1 
6 5 4 2 3 1 
3 4 5 6 2 1 
3 4 6 5 2 1 
3 5 4 6 2 1 
3 6 4 5 2 1 
3 5 6 4 2 1 
3 6 5 4 2 1 
4 3 5 6 2 1 
4 3 6 5 2 1 
5 3 4 6 2 1 
6 3 4 5 2 1 
5 3 6 4 2 1 
6 3 5 4 2 1 
4 5 3 6 2 1 
4 6 3 5 2 1 
5 4 3 6 2 1 
6 4 3 5 2 1 
5 6 3 4 2 1 
6 5 3 4 2 1 
4 5 6 3 2 1 
4 6 5 3 2 1 
5 4 6 3 2 1 
6 4 5 3 2 1 
5 6 4 3 2 1 
6 5 4 3 2 1 
-1