Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <cmath>
- using namespace std;
- int main()
- {
- int tc;
- cin >> tc;
- while(tc--)
- {
- int n, k;
- cin >> n >> k;
- if(k == 0)
- {
- for(int i=1; i<=n; i++)
- cout << i << " ";
- }
- else
- {
- if(n%2)
- {
- cout << -1;
- }
- else if((n%k == 0) && (n/k)%2 == 0)
- {
- vector <vector <int> > m(n/k, vector <int> (k));
- int p = 1;
- for(int i=0; i<m.size(); i++)
- for(int j=0; j<m[i].size(); j++, p++)
- m[i][j] = p;
- for(int i=0; i<m.size(); i+=2)
- swap(m[i], m[i+1]);
- for(int i=0; i<m.size(); i++)
- for(int j=0; j<m[i].size(); j++)
- cout << m[i][j] << " ";
- }
- else
- {
- cout << -1;
- }
- }
- cout << endl;
- }
- return 0;
- }
- /**
- //OBSERVAR PATRONES
- int checkear(vector <int> v)
- {
- int p = abs(v[0]-1);
- for(int i=1; i<v.size(); i++)
- {
- if(abs(v[i]-(i+1)) != p)
- {
- return -1;
- }
- }
- return p;
- }
- void generarPermutaciones(int n)
- {
- vector <int> v(n);
- for(int i=0; i<n; i++)
- v[i] = i+1;
- vector <int> k = v;
- next_permutation(v.begin(), v.end());
- while(v != k)
- {
- int res = checkear(v);
- if(res != -1)
- {
- for(int i=0; i<n; i++)
- {
- cout << v[i] << " ";
- }
- cout << ", " << res << endl;
- }
- next_permutation(v.begin(), v.end());
- }
- int res = checkear(v);
- if(res != -1)
- {
- for(int i=0; i<n; i++)
- {
- cout << v[i] << " ";
- }
- cout << ", " << res << endl;
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment