fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main() {
  6.  
  7. int N;
  8. cin>>N;
  9.  
  10. if(N ==1)
  11. {
  12. cout<<1<<endl;
  13. return 0;
  14. }
  15.  
  16. if(N <= 3)
  17. {
  18. cout<<"NO SOLUTION"<<endl;
  19. return 0;
  20. }
  21.  
  22. if(N==4)
  23. {
  24. cout<<"2 4 1 3"<<endl;
  25. return 0;
  26. }
  27.  
  28. int i=1;
  29. int j=N;
  30.  
  31. vector<int> V;
  32.  
  33. while(i < j)
  34. {
  35. V.push_back(j);
  36. V.push_back(i);
  37. j--;
  38. i++;
  39. }
  40. if(i == j)
  41. {
  42. V.push_back(i);
  43. }
  44.  
  45. for(int i=0;i<V.size()-1;i++)
  46. {
  47. if(abs(V[i+1]-V[i]) == 1)
  48. {
  49. int temp =V[i+1];
  50. V[i+1] = V[0];
  51. V[0] = temp;
  52. }
  53. }
  54.  
  55. for(int i=0;i<V.size();i++)
  56. {
  57. if(i != V.size()-1)
  58. {
  59. cout<<V[i]<<" ";
  60. }
  61. else
  62. {
  63. cout<<V[i]<<endl;
  64. }
  65. }
  66.  
  67.  
  68. return 0;
  69. }
Success #stdin #stdout 0.01s 5276KB
stdin
1
stdout
1