CF 203 div2 E. Wrong Floyd 图论

简介:

    题目中只选取k个点更新,因此只要保证有一个点只连到非k点即可

    注意:题目要求连通图!!比赛的时候没看到,WA了,只要改下输出顺序即可保证联通。

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
int vis[305];
int main()
{
    int n,k,m;
    while(~scanf("%d%d%d",&n,&m,&k))
    {
        int i,t,j;
        memset(vis,0,sizeof(vis));
        for(i=0;i<k;i++)
        {
            scanf("%d",&t);
            vis[t]=1;
        }
        int Max=n-k+(n-1)*(n-2)/2;
        if(k==n||m>Max)puts("-1");
        else
        {
            int f=1,last;
            while(!vis[f])f++;
            for(i=1;i<=n&&m;i++)
            {
                if(vis[i])continue;
                printf("%d %d\n",f,i); //先输出一组保证错误
                last=i;
                m--;
                break;
            }
            for(i=1;i<=n&&m;i++)
            {
                if(i==f)continue;
                for(j=i+1;j<=n&&m;j++)
                {
                    if(j==f)continue;
                    printf("%d %d\n",i,j); //保证联通
                    m--;
                }
            }
            for(i=last+1;i<=n&&m;i++)
            {
                if(vis[i])continue;
                printf("%d %d\n",f,i); 
                m--;
            }
        }
    }

}


目录
相关文章
|
9月前
|
人工智能 算法
Codeforces #737Div2A. A. Ezzat and Two Subsequences(模拟)
Codeforces #737Div2A. A. Ezzat and Two Subsequences(模拟)
29 0
|
9月前
|
机器学习/深度学习 人工智能 算法
CF1550A Find The Array(贪心算法)
CF1550A Find The Array(贪心算法)
24 0
CF711D-Directed Roads(组合数学 dfs找环)
CF711D-Directed Roads(组合数学 dfs找环)
67 0
CF711D-Directed Roads(组合数学 dfs找环)
Codeforces Round #748 (Div. 3) E. Gardener and Tree(拓扑排序)
Codeforces Round #748 (Div. 3) E. Gardener and Tree(拓扑排序)
73 0
CF191C——Fools and Roads(树上边差分+LCA)
CF191C——Fools and Roads(树上边差分+LCA)
105 0
|
人工智能 BI
CF1398C. Good Subarrays(思维 前缀和)
CF1398C. Good Subarrays(思维 前缀和)
80 0
CF 1156D. 0-1-Tree(树形DP)
CF 1156D. 0-1-Tree(树形DP)
84 0
|
Java
HDOJ/HDU 1297 Children’s Queue(推导~大数)
HDOJ/HDU 1297 Children’s Queue(推导~大数)
117 0
HDOJ(HDU) 2162 Add ‘em(求和)
HDOJ(HDU) 2162 Add ‘em(求和)
62 0
HDOJ 1339 A Simple Task(简单数学题,暴力)
HDOJ 1339 A Simple Task(简单数学题,暴力)
101 0