Submission #7946736
Source Code Expand
#include<stdio.h> #include<stdlib.h> #include<stdarg.h> #include<string.h> #include<math.h> #include<string> #include<list> #include<map> #include<set> #include<algorithm> #include<queue> #include<vector> #include<sstream> #include<fstream> #include<iostream> using namespace std; int main() { int N, K; cin >> N >> K; if( N / 2 < K ){ printf( "-1\n" ); return 0; } vector<int> A; A.push_back(0); for( int j = 0, R = 1, L = N - 1; j < N - 1; j ++ ){ if( j & 1 ){ A.push_back(L); L --; } else{ A.push_back(R); R ++; } } for( int i = 0; i < K; i ++ ){ for( int j = 0; j < N-1; j ++ ) printf( "%d %d\n", (A[j]+i)%N+1, (A[j+1]+i)%N+1 ); if( i+1 < K ) printf( "\n" ); } return 0; }