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--;
            }
        }
    }

}


目录
相关文章
|
8月前
|
算法
1091 zoj Knight Moves的BFS算法和DFS
1091 zoj Knight Moves的BFS算法和DFS
34 0
|
5月前
|
Java
hdu1016 Prime Ring Problem【素数环问题(经典dfs)】
hdu1016 Prime Ring Problem【素数环问题(经典dfs)】
24 0
|
6月前
hdoj 1028/poj 2704 Pascal's Travels(记忆化搜索||dp)
有个小球,只能向右边或下边滚动,而且它下一步滚动的步数是它在当前点上的数字,如果是0表示进入一个死胡同。求它从左上角到右下角到路径数目。 注意, 题目给了提示了,要用64位的整数。
22 0
CF711D-Directed Roads(组合数学 dfs找环)
CF711D-Directed Roads(组合数学 dfs找环)
62 0
CF711D-Directed Roads(组合数学 dfs找环)
Codeforces Round #748 (Div. 3) E. Gardener and Tree(拓扑排序)
Codeforces Round #748 (Div. 3) E. Gardener and Tree(拓扑排序)
69 0
CF 1156D. 0-1-Tree(树形DP)
CF 1156D. 0-1-Tree(树形DP)
78 0
|
存储 算法
[图论总结] 最大独立集(例题:Code Names)
概念之间的关系及性质 最大独立集 = n - 最大匹配 最大匹配 = 最小点覆盖 最大独立集 = n - 最小点覆盖 最大团 = 补图的最大独立集 最大独立集 = 补图的最大团 补图:如果n个点两两之间没有边,那么将这两个点连在一起,如果之前两点之间有边,那么就将这两个点之间的边去掉-》得到补图
282 0
[图论总结] 最大独立集(例题:Code Names)
|
机器学习/深度学习
HDU-2680,Choose the best route(Dijkstra)
HDU-2680,Choose the best route(Dijkstra)
|
算法
来聊聊最短路问题中的label-setting算法
来聊聊最短路问题中的label-setting算法
271 0
来聊聊最短路问题中的label-setting算法
|
Java
HDOJ/HDU 1297 Children’s Queue(推导~大数)
HDOJ/HDU 1297 Children’s Queue(推导~大数)
109 0