poj 3041 Asteroids (二分匹配)
来源:互联网 发布:北京凶宅数据库怎么查 编辑:程序博客网 时间:2024/05/22 10:51
大概题意:在n*n的矩阵上有k个行星,有一种武器一次可以消去一行或者一列的行星,问最少要用这个武器多少次。
方法:行和列匹配,然后最小点覆盖,即最大匹配。
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int map[501][501],vis[501],y[501],n,k;bool dfs(int i){ for(int j=1;j<=n;j++) { if(map[i][j]&&!vis[j]) { vis[j]=1; if(!y[j]||dfs(y[j])) { y[j]=i; return true; } } } return false;}void match(){ memset(y,0,sizeof(y)); int i,ans=0; for(i=1;i<=n;i++) { memset(vis,0,sizeof(vis)); if(dfs(i)) ans++; } printf("%d\n",ans);}int main(){ while(scanf("%d%d",&n,&k)!=EOF) { int i; memset(map,0,sizeof(map)); for(i=1;i<=k;i++) { int r,c; scanf("%d%d",&r,&c); map[r][c]=1; } match(); } return 0;}
- poj 3041 Asteroids (二分匹配)
- poj 3041 Asteroids (二分匹配)
- POJ 3041 Asteroids(二分匹配-hungary)
- POJ 3041-Asteroids(二分图匹配)
- POJ 3041 Asteroids(二分图匹配)
- POJ 3041 Asteroids (二分匹配)
- 【POJ】-3041-Asteroids(二分最大匹配)
- poj 3041 Asteroids (二分匹配)
- POJ 3041 Asteroids(二分匹配)
- POJ 3041 Asteroids 二分匹配
- 【POJ】3041 Asteroids 二分匹配
- POJ 3041 Asteroids(二分匹配)
- POJ 3041Asteroids(二分图最大匹配)
- POJ 3041 Asteroids(二分匹配模板题)
- POJ 3041 Asteroids(二分图最大匹配)
- POJ 3041 Asteroids(二分图匹配+匈牙利算法)
- POJ 3041 Asteroids(二分匹配模板题)
- poj 3041 Asteroids(二分图最大匹配)
- nonamic,assign,copy,retain的区别
- xml不提示问题
- myeclipse 修改svn用户名和密码
- js验证电话号码
- 安装PyGraphics包 (python import media模块)
- poj 3041 Asteroids (二分匹配)
- 安装findbugs(MyEclipse8.5)
- linux性能监控(cpu 内存 磁盘IO 网络)
- C# 实现类似SMSS的执行脚本的功能
- MyEclipse优化---编程时更流畅
- Llinux进程间通信-AF_UNIX 套接字编程
- Try Magento on an Amazon EC2 Instance
- extjs在myeclipse提示
- CodeSmith 使用教程(8): CodeTemplate对象