提交时间:2026-04-16 12:59:02
运行 ID: 41332
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int n,k; bool f[N]; int nxt(int x){ return (x+k)%n; } int main(){ scanf("%d%d",&n,&k); if(n%2){ printf("%d\n",(n-1)/2); for(int i=0;i<n;i++){ if(f[i]==0 && f[nxt(i)]==0){ printf("%d %d\n",i,(i+2)%n); f[i]=1; f[nxt(i)]=1; } } }else{ printf("-1"); } return 0; }