标签: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