提交时间:2026-04-23 09:19:52

运行 ID: 41443

#include<bits/stdc++.h> using namespace std; int gd(int x,int y) { while(y!=0) { int d=x%y; x=y,y=d; } return x; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,k; cin>>n>>k; if(n%2==0) { cout<<-1; return 0; } cout<<n/2<<endl; int g=gd(n,k); int j=0; for(int i=1;i<=n/g/2;i++) { cout<<j<<' '<<(j+k)%n<<endl; j=(j+2*k)%n; } if(g==1) return 0; j=0; int sx=0; for(int i=1;i<n/g;i++) { if(sx==0) { for(int k=j;k+1<=j+n/g-1;k+=2) { cout<<k<<' '<<k+1<<endl; } } else { for(int k=j+1;k+1<=j+n/g;k+=2) { cout<<k<<' '<<k+1<<endl; } } j=(j+k)%10,sx=sx^1; } for(int i=0;i+2<n/g;i+=2) { cout<<i<<' '<<i+2<<endl; } return 0; }