【棋盘覆盖】【模板】二分图匹配
来源:互联网 发布:mac最上面的不隐藏 编辑:程序博客网 时间:2024/05/29 11:21
直接扔代码吧……裸题……存个模板而已。
代码:
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int SIZE=1010;int match1[SIZE][SIZE],match2[SIZE][SIZE];bool maps[SIZE][SIZE],vis[SIZE][SIZE];int n,m;const int dx[]={0,0,1,0,-1};const int dy[]={0,1,0,-1,0};bool dfs(int xx,int yy){ vis[xx][yy]=1; for(int i=1;i<=4;i++) { int x=xx+dx[i]; int y=yy+dy[i]; if(x>0&&x<=n&&y>0&&y<=m&&!maps[x][y]&&!vis[x][y]) { vis[x][y]=1; if(!match1[x][y]||dfs(match1[x][y],match2[x][y])) { match1[x][y]=xx; match2[x][y]=yy; return true; } } } return false;}int main(){ scanf("%d%d",&n,&m); int k; scanf("%d",&k); for(int i=1;i<=k;i++) { int x,y; scanf("%d%d",&x,&y); maps[x][y]=1; } int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(!maps[i][j]) { memset(vis,0,sizeof(vis)); if(dfs(i,j)) ans++; } } } printf("%d",ans/2); return 0;}
0 0
- 【棋盘覆盖】【模板】二分图匹配
- hdu 1281 棋盘游戏(二分图匹配--最小点覆盖)
- P1035 棋盘覆盖 (二分图匹配、最大网络流)
- upcoj 1975 棋盘覆盖二分匹配+2107单调队列+1109
- hdu1281棋盘游戏(二分匹配,最小顶点覆盖)
- 二分图匹配模板
- 图--二分匹配模板
- 【二分图匹配模板】
- 二分图匹配模板
- 二分图匹配模板
- 二分图匹配模板
- 二分图匹配模板
- 二分图匹配 模板
- 二分图匹配模板
- 二分图匹配模板
- 二分图匹配模板
- 二分图匹配模板
- 二分图匹配模板
- OutLook设置签名,设置开机启动,最小化到托盘
- Efs Frame企业级开发框架源码
- frameset中的frame高度问题
- jQuery源码分析之$.ajax方法
- python os.popen os.system
- 【棋盘覆盖】【模板】二分图匹配
- 2 字节的 UTF-8 序列的字节 2 无效
- OC中GCD导致死锁的原因和解决方案
- ios 关于cocos2dx 3.2微信分享好友成功返回游戏卡死的情况处理
- About Apps
- Xcode Key Bindings & Gestures
- Android适配屏幕
- HDU 1719 Friend 找规律
- Android Studio 快捷键