2016CCPC东北地区大学生程序设计竞赛 1001 HDU5922

链接http://acm.hdu.edu.cn/showproblem.php?pid=5922

题意:最小生成树,但边的权值是连接两点的最小公倍数

解法:不要真的写最小生成树啦,只要其他点和第一点相连,边的权值就是最小的,相加就好了

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    int t,cnt=1;
    scanf("%d",&t);
    while(t--)
    {
        ll n;
        scanf("%I64d",&n);
        printf("Case #%d: ",cnt++);
        printf("%I64d\n",(n*(n+1)/2)-1);
    }

    return 0;
}

  

 

posted @ 2016-10-06 18:14  樱花落舞  阅读(325)  评论(0编辑  收藏  举报