
解析:
1到任一点距离不超过二,并且有部分点不可以连边,直接统计所有不能连边的点,从之外的点中选一个点当作中心,构造菊花图即可。
- #include
- using namespace std;
- int n,m;
- signed main(){
- scanf("%d%d",&n,&m);
- int p;
- set<int>s;
- for(int i=1;i<=m;i++){
- int a,b;
- scanf("%d%d",&a,&b);
- s.insert(a),s.insert(b);
- }
- for(int i=1;i<=n;i++) if(s.count(i)==0){
- p=i;
- break;
- }
- cout<
-1< - for(int i=1;i<=n;i++){
- if(i!=p) printf("%d %d\n",p,i);
- }
- return 0;
- }