Description

Ink最近得到了一张藏宝图,这张图上共有n个藏宝室,但因为年代久远藏宝图上的路已经模糊不清,于是Ink找到了智慧的Pseudo,Pseudo告诉Ink,这个宝藏中每两个藏宝室之前都有一条通路,每条通路上都有一定数量的机关。现在Ink已经探明了其中n-1条路上的机关数目,这n-1条路不构成任何环路。众所周知Ink是个乐天派,他坚持认为自己探明的这些路构成的无环联通子图中机关总数是唯一且最少的,现在假设他的想法是对的,他想知道整个图中最少共有多少机关?

Input

第一行是一个数字n,表示藏宝室个数(0<n<=100)
第二行至第n行每行3个数u,v,w,表示探明的一条u到v的路,机关数是w.(1<=u,v<=n, 1<=w<=100).

Output

一个数,表示最少总机关数。

Sample Input

4 2 3 2 1 2 1 3 4 3

Sample Output

17
 
 
思路:给定最小生成树,求原来的图最少权值之和是多少。那么只要算加上一条边,加上之后必定成环,计算环上权值最大的边,那么加上去的这条边的权值就是环上最大权值+1,否则最少生成树会被破坏。
例如样例,
1---2---3---4 是这样的图。
加上1到3这条边,那么1,2,3成环,权值最大是2,那么1--3的权值就是2+1=3;
算好之后删除1--3这条边。
加上1--4,那么1,2,3,4成环,权值最大是3,那么1--4权值等于3+1=4;
删除1--4这条边。
加上2--4,那么2,3,4成环,权值最大是3,那么2--4权值等于3+1=4;
所有边的权值都算完了,ans=1+2+3+3+4+4=17;
 
用DFS可以判断哪些节点在环内。
 
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std; const int INF = 0x7FFFFFFF;
const int maxn = ;
int jz[maxn][maxn];
vector<int> ljb[maxn];
int anss, flag;
int cost[maxn];
int ff[maxn]; void dfs(int start,int end,int now,int tot)
{
int i;
if (now == end)
{
int maxn = -;
flag = ;
for (i = ; i < tot - ; i++)
{
if (jz[cost[i]][cost[i + ]]>maxn) maxn = jz[cost[i]][cost[i + ]];
}
anss = anss + maxn + ;
return;
}
for (i = ; i < ljb[now].size(); i++)
{
if (ff[ljb[now][i]] == )
{
ff[ljb[now][i]] = ;
cost[tot] = ljb[now][i];
dfs(start, end, ljb[now][i], tot + );
if (flag) return;
}
}
} int main()
{
int n, i, j, u, v, c;
while (~scanf("%d", &n))
{
anss = ;
for (i = ; i <= n; i++) for (j = ; j <= n; j++) jz[i][j] = INF;
for (i = ; i <= n; i++) ljb[i].clear();
for (i = ; i <= n - ; i++)
{
scanf("%d%d%d", &u, &v, &c);
jz[u][v] = c;
jz[v][u] = c;
anss = anss + c;
ljb[u].push_back(v);
ljb[v].push_back(u);
} for (i = ; i <= n; i++)
{
for (j = i + ; j <= n; j++)
{
if (jz[i][j] == INF)
{
memset(ff, , sizeof(ff));
ff[i] = ;
cost[] = i; flag = ;
dfs(i, j, i, );
}
}
}
printf("%d\n", anss);
}
return ;
}

ZUFE OJ 2145 05机关图的更多相关文章

  1. ZUFE OJ 2288 God Wang I

    Description God Wang 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GodW变换 对于一个数字n,该变换后的值GodW(n)为,先令X=n 第一步,如果X为个位数,G ...

  2. ZUFE OJ 2301 GW I (3)

    Description GW 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GW变换 对于一个数字n,该变换后的值GW(n)为,先令X=n 第一步,如果X为个位数,GW(n)=X,否则执 ...

  3. ZUFE OJ 2289 God Wang II

    Description 这个世界太无聊了,于是God Wang想出了新的运算符号$,对于两个数x,y来说x$y的值等于x和y各个位置上的数字乘积之和,没有的位按0来算 比如说123$321=1*3+2 ...

  4. zufe oj 引水工程( 巧妙地把在i建水设为e[0][i])

    引水工程 时间限制: 3 Sec  内存限制: 128 MB提交: 11  解决: 6[提交][状态][讨论版] 题目描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程,是新中国成立以来 ...

  5. 05 Java图形化界面设计——布局管理器之GridLayout(网格布局)

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  6. Android 自定义Gallery浏览图片

    之前写的<Android ImageSwitcher和Gallery的使用>一文中提到我在教室一下午为实现那个效果找各种资料.期间在网上找了一个个人觉得比较不错的效果,现在贴图上来: 其实 ...

  7. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  8. Excel 中使用sql语句查询

    将Excel连接Oracle数据库 Excel选项板中"数据"—"自其他来源"下拉菜单中有有个可以连接其它数据库的选项"来自数据连接向导"和 ...

  9. 骗访问量的机房人物列传by xMinh

    作者:$xMinh$ 人物列传·Refun(Aufun,虚凡,人赢) 机房最人赢的人赢,上过表白墙的男人 在宿舍公然开设情感讲座和人赢培训班,教学成果显著,他的徒弟要么gay了要么凉了 认识的人极其广 ...

随机推荐

  1. IronPython .NET Integration官方文档翻译笔记

    http://ironpython.net/documentation/dotnet/这是原文地址 以下笔记仅记录阅读过程中我认为有必要记录的内容,大多数都是依赖翻译软件的机翻,配合个人对代码的理解写 ...

  2. ACM博弈问题小试

    题目: 取石子(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作 ...

  3. 【转】【WebService】.NET C# 创建WebService服务

    Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...

  4. 实际开发中,后台回传的错误格式的Json数据处理

    现在很多学习刚学习移动开发的同学,相信在培训机构,拿到后台数据的时候,格式都是正确的,甚至有的还是plist文件.但是实际开发中,我们获取数据都是通过网络接口从服务器获取数据,这些数据的格式都是后台写 ...

  5. 使用代码分析来分析托管代码质量 之 CA2200

    vs的代码分析功能:vs菜单 “生成”下面有“对解决方案运行代码分析 Alt+F11”和“对[当前项目]运行代码分析”2个子菜单. 使用这个功能,可以对托管代码运行代码分析,发现代码中的缺陷和潜在问题 ...

  6. Product Management vs. Product Marketing

    Posted by Marty Cagan on August 28, 2007 Tags: product management, product marketing, program manage ...

  7. 修改/etc/resolv.conf又恢复到原来的状态?[转]

    新装一台机器环境为服务器主板,双网卡,系统为CentOS5.4 ,eth0为内网ip,eth1为公网ip.但是由于在本地测试,设置的内网ip,域名服务器同样使用的是上海本地的域名解析,没有问题,可以上 ...

  8. win8及win8.1商店出现0X80073CF9的解决办法!

    //添加appinstallagent无效的方法 http://jingyan.baidu.com/article/e52e3615a2b38f40c60c51d3.html

  9. DrawingCombiner——CAD图纸批量合并软件

    DrawingCombiner是一款CAD图纸批量合并软件,可以批量合并多个dwg或dxf文件为单个dwg文件,并可以设置合并后的排列方式. 此程序附属MagicTable(可到依云官网下载:http ...

  10. [kuangbin带你飞]专题六 最小生成树 POJ 2421 Constructing Roads

    给一个n个点的完全图 再给你m条道路已经修好 问你还需要修多长的路才能让所有村子互通 将给的m个点的路重新加权值为零的边到边集里 然后求最小生成树 #include<cstdio> #in ...