A - Minimum’s Revenge HDU - 5922(思维+最小公倍数)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Miranda_ymz/article/details/82936552

A - Minimum’s Revenge HDU - 5922

分类:思维+最小公倍数

 2018TYUT秋季ACM模拟赛(14)2016CCPC东北地区

 题意&思路:给你n个点每两个点之间的边权值为这两个点标号的最小公倍数,问最小生成树的值为多少,很明显,所有数和1的最小公倍数最小,所以该最小生成树为1-n各点相连的数。答案就是n*(n+1)/2-1。考虑到超过边界,所以先直接不用加1 ,改为(n+2)*(n-1)/2;

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int t,kcase=0;
    long long n;
    scanf("%d",&t);
    while(t--)
    {
        cin>>n;
        cout<<"Case #"<<++kcase<<": "<<(n-1)*(n+2)/2<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Miranda_ymz/article/details/82936552
今日推荐