标签:its scan \n relative problem bsp amp turn using
直接暴力找点对就行了,可以证明gcd=1是比较密集的,所以复杂度略大于 O(N log N)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;
int gcd(int x,int y){ return y?gcd(y,x%y):x;}
int n,m,u[N+5],v[N+5];
int main(){
scanf("%d%d",&n,&m);
if(n-1>m){ puts("Impossible"); return 0;}
for(int i=2;i<=n;i++) u[m]=i,v[m--]=i-1;
for(int i=3;i<=n&&m;i++)
for(int j=i-2;j&&m;j--) if(gcd(i,j)==1) u[m]=i,v[m--]=j;
if(m){ puts("Impossible"); return 0;}
puts("Possible");
for(int i=1;u[i];i++) printf("%d %d\n",u[i],v[i]);
return 0;
}
CodeForces - 1009D Relatively Prime Graph
标签:its scan \n relative problem bsp amp turn using
原文地址:https://www.cnblogs.com/JYYHH/p/9313594.html