最小路径覆盖_zoj1525_最小路径覆盖+水
2016-06-19 12:30
281 查看
[b]Description[/b]
定义: 一个不含圈的有向图G中,G的一个路径覆盖是一个其结点不相交的路径集合P,图中的每一个结点仅包含于P中的某一条路径。路径可以从任意结点开始和结束,且长度也为任意值,包括0。请你求任意一个不含圈的有向图G的最小路径覆盖数。
提示:最小路径覆盖数=G的定点数-最小路径覆盖中的边数
最小路径覆盖数=原图G的顶点数-二分图的最大匹配数
[b]Input[/b]
t表示有t组数据;n表示n个顶点(n<=120);m表示有m条边;
接下来m行,每行有两个数i,j表示一条有向边。
[b]Output[/b]
最小路径覆盖数
[b]Sample Input[/b]
2
4
3
3 4
1 3
2 3
3
3
1 3
1 2
2 3
[b]Sample Output[/b]
2
1
[b]思路:[/b]
赤果果的最小路径覆盖,赤果果的模板题
zoj不知道要维修到什么时候,先交上来
最近状态很好啊高产似那啥
[b]源代码/pas:[/b]
[b]Description[/b]
定义: 一个不含圈的有向图G中,G的一个路径覆盖是一个其结点不相交的路径集合P,图中的每一个结点仅包含于P中的某一条路径。路径可以从任意结点开始和结束,且长度也为任意值,包括0。请你求任意一个不含圈的有向图G的最小路径覆盖数。
提示:最小路径覆盖数=G的定点数-最小路径覆盖中的边数
最小路径覆盖数=原图G的顶点数-二分图的最大匹配数
[b]Input[/b]
t表示有t组数据;n表示n个顶点(n<=120);m表示有m条边;
接下来m行,每行有两个数i,j表示一条有向边。
[b]Output[/b]
最小路径覆盖数
[b]Sample Input[/b]
2
4
3
3 4
1 3
2 3
3
3
1 3
1 2
2 3
[b]Sample Output[/b]
2
1
[b]思路:[/b]
赤果果的最小路径覆盖,赤果果的模板题
zoj不知道要维修到什么时候,先交上来
最近状态很好啊高产似那啥
[b]源代码/pas:[/b]
type edge=record x,y,next:Longint; end; var e:array[1..400]of edge; link,ls:array[0..20]of longint; v:array[1..20]of boolean; maxE,n,m,t:longint; procedure add(x,y:longint); begin inc(maxE); e[maxE].x:=x; e[maxE].y:=y; e[maxE].next:=ls[x]; ls[x]:=maxE; end; function find(x:longint):boolean; var i,k:longint; begin find:=true; i:=ls[x]; while i>0 do with e[i] do begin if not v[y] then begin k:=link[y]; link[y]:=x; v[y]:=true; if (k=0)or find(k) then exit; link[y]:=k; end; i:=next; end; find:=false; end; procedure main; var i,j,ans:longint; begin fillchar(link,sizeof(link),0); ans:=0; for i:=1 to n do begin fillchar(v,sizeof(v),false); if find(i) then inc(ans); end; writeln(n-ans); end; procedure init; var i,j,x,y:longint; begin fillchar(ls,sizeof(ls),0); fillchar(e,sizeof(e),0); maxE:=0; readln(n,m); for i:=1 to m do begin readln(x,y); add(x,y); end; end; begin readln(t); repeat init; main; dec(t); until t=0; end.
相关文章推荐
- leetcode_c++:Move Zeroes(283)
- Coursera课程下载和存档计划
- 装了win10 Ubuntu双系统 却只能进Ubuntu 没有启动选择操作系统的菜单!
- 重温4 ActivityCollector/BaseActivity随时退出和启动程序
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
- 第16周项目1--小玩文件(1)
- HTML5之DOM小游戏——乒乓球
- 《小学生的Android系列教程》第一章:Android介绍
- 自定义View
- 阿里妈妈-RAP项目的实践(1)
- 【转】Reactor与Proactor两种模式区别
- JavaWeb配置数据源连接数据库详解(概念详解+多种情况源代码范例+易出错类型)
- Python nltk English Detection
- Java千百问_02基本使用(011)_如何编写单线程Socket程序
- mongodb 只查询一个字段
- 八大排序算法二分查找
- POJ 2184 Cow Exhibition
- Android处理输入事件的流程(一)
- leetcode_c++:Missing Number(268)
- while的另外几种用法