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

  

上一篇:[BZOJ1528][POI2005]sam-Toy Cars(贪心)


下一篇:Java語言