poj3041 Asteroids
来源:互联网 发布:js购物车数量加减代码 编辑:程序博客网 时间:2024/05/16 02:36
经典的最小点覆盖。对于一个小行星来说,要么清理该行,要么该列时清理掉,所以也就是每个小行星对应的行列中至少选择一样来清理。下面建图,如果我们把每行看成集合一中的点,每列看成集合二中的点,一个小行星看成是其对应行列的连线,那么也就是说不能存在某一条连线两边的点都没有被选中的情况。这恰好就是二分图最小点集覆盖的要求。
varn,k:longint;g:Array[1..500,1..500]of longint;match,t:Array[1..500]of longint;h:Array[1..500]of boolean;procedure init;var i,x,y:longint;beginreadln(n,k);for i:=1 to k dobeginreadln(x,y);inc(t[x]);g[x,t[x]]:=y;end;end;function check(k:longint):boolean;var i:longint;beginfor i:=1 to t[k] doif(not h[g[k,i]])thenbeginh[g[k,i]]:=true;if(match[g[k,i]]=0)or(check(match[g[k,i]]))thenbeginmatch[g[k,i]]:=k;exit(true);end;end;exit(false);end;procedure hungarian;var i,ans:longint;beginans:=0;for i:=1 to n dobeginfillchar(h,sizeof(h),0);if(check(i))then inc(ans);end;writeln(ans);end;begininit;hungarian;end.
- POJ3041 Asteroids
- poj3041 asteroids
- poj3041 Asteroids
- POJ3041----Asteroids
- poj3041 - Asteroids
- Asteroids poj3041
- POJ3041 Asteroids
- poj3041 Asteroids
- poj3041 Asteroids
- POJ3041:Asteroids
- poj3041 Asteroids
- POJ3041 - Asteroids
- POJ3041 Asteroids
- Asteroids poj3041
- poj3041 Asteroids
- poj3041 Asteroids
- POJ3041-Asteroids
- POJ3041-Asteroids
- AppStore 如何增加销售的心得
- 如何用ftok来产生相关的key_t值
- 反转在整数字节的顺序
- 约瑟夫环链表解法
- UITextView和UITextField的placeholder,键盘隐藏,键盘换行变完成字样
- poj3041 Asteroids
- iOS CGPath提升阴影性能
- Android数据库的SQLite增删改查
- 动态使用proto文件
- AIX下用nmon进行监控和分析实战
- 固定执行计划
- mysql LOCK TABLES
- Visual.Assist.X.V10.7.1940的汉化破解补丁
- WIN8 64位安装APX驱动办法