Rikka with Graph(水题)

来源:互联网 发布:python 最优化算法包 编辑:程序博客网 时间:2024/06/05 04:20

题目来源:https://vjudge.net/problem/HDU-5422
【题意】
给出了一个无向图,n个点,m条边,可以在任意两点加一条边,然后,让求1到n的最短路,有多少种加边的方式。
举个例子:
4个顶点,其中1和4连起来,那么最短路就一定是1,边可以任意加,就是n*(n-1)/2条(任意两个不同的点有多少种连接方式),对应的,如果给出1和3相连,要保证最短路,只能增加一条1和4相连的边,只有一种方式,最短路也是1。
【代码】

int main(){    int n,m;    while(~scanf("%d%d",&n,&m))    {        int x,y;        int flag=0;        for(int i=0;i<m;i++)        {            scanf("%d%d",&x,&y);            if(x==1&&y==n||x==n&&y==1)                flag=1;        }        if(flag)            printf("1 %d\n",n*(n-1)/2);        else            printf("1 1\n");    }}
1 0
原创粉丝点击