hdu 6090 Rikka with Graph(找规律)

来源:互联网 发布:vscode js代码提示 编辑:程序博客网 时间:2024/06/07 21:53

Rikka with Graph

题目链接:Rikka with Graph

题意:给你n个顶点,让你最多建m条边,如果顶点i和顶点j连通,则他们之间的权值为最短路上边的数量,否则他们之间的权值则为n

ni=1nj=1dist(i,j)

思路:只要想到把这张图建成这样的,直接找规律就行了
这里写图片描述

官方题解:
这里写图片描述

代码:

#include<bits/stdc++.h>using namespace std;typedef long long LL;int main(){    int t;    LL n,m,ans;    scanf("%d",&t);    while(t--)    {        scanf("%lld%lld",&n,&m);        if(m<n-1)            ans=n*n*(n-1)-2*(n-1)*m-(n-2)*m*(m-1);        else            ans=(n*(n-1)-m)*2;        if(ans<n*(n-1))            ans=n*(n-1);        printf("%lld\n",ans);    }    return 0;}
原创粉丝点击