fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. #define all(X) (X).begin(), (X).end()
  5. int t=1;
  6.  
  7. signed main()
  8. {
  9. ios_base::sync_with_stdio(0), cin.tie(0);
  10. cin>>t;
  11. vector<int>s;
  12. for (int i=0;i<=2e5;i++)
  13. {
  14. s.push_back(i*i);
  15. }
  16. while(t--)
  17. {
  18. int n;
  19. cin>>n;
  20. vector<int> a(n);
  21. vector<int>b(n);
  22. for (int i=0;i<n;i++)
  23. a[i]=i;
  24. b=a;
  25. int x=n-1;
  26. while(x>=0)
  27. {
  28. int c=a[x];
  29. int anum= *lower_bound(all(s),a[x]);
  30. int d=anum-c;
  31. reverse(b.begin()+d,b.begin()+c+1);
  32. x=d-1;
  33. }
  34. for (auto j:b)
  35. cout<<j<<" ";
  36. cout<<"\n";
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0.01s 5548KB
stdin
3
3
4
7
stdout
1 0 2 
0 3 2 1 
1 0 2 6 5 4 3