POJ 3020 Antenna Placement(最小边覆盖)
来源:互联网 发布:python是面向对象语言 编辑:程序博客网 时间:2024/05/28 09:33
其实应该1A的,有个循环上线写错了。
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=500+5;char map[50][50];int id[maxn][maxn];bool line[maxn][maxn],used[maxn*maxn];int gril[maxn*maxn];int m,n;int cnt;bool find(int x) { for(int j=1;j<=cnt;j++) { if(line[x][j]&&!used[j]) { used[j]=true; if(gril[j]==-1||find(gril[j])) { gril[j]=x; return true; } } } return false; } int main(){ int t; scanf("%d",&t); while(t--) { cnt=0; memset(line,false,sizeof(line)); memset(gril,-1,sizeof(gril)); scanf("%d%d",&m,&n); for(int i=1;i<=m;i++) scanf("%s",map[i]+1); for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ if(map[i][j]=='*') id[i][j]=++cnt; } } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(map[i][j]=='*') { if(i-1>0&&map[i-1][j]=='*') line[ id[i][j] ][ id[i-1][j] ]=true; if(j-1>0&&map[i][j-1]=='*') line[ id[i][j] ][ id[i][j-1] ]=true; if(i+1<=m&&map[i+1][j]=='*') line[ id[i][j] ][ id[i+1][j] ]=true; if(j+1<=n&&map[i][j+1]=='*') line[ id[i][j] ][ id[i][j+1] ]=true; } } } int ans=0; for(int i=1;i<=cnt;i++) { memset(used,false,sizeof(used)); if(find(i)) ans+=1; } printf("%d\n",cnt-ans/2); } return 0;}
0 0
- poj 3020Antenna Placement 最小边覆盖
- poj 3020 Antenna Placement (最小边覆盖)
- POJ 3020 Antenna Placement(最小边覆盖)
- POJ 3020 Antenna Placement (最小边覆盖)
- poj 3020 Antenna Placement (最小路径覆盖)
- POJ-3020 Antenna Placement(最小点覆盖)
- POJ 3020 Antenna Placement (最小路径覆盖)
- POJ 3020:Antenna Placement(最小路径覆盖)
- POJ 3020 — Antenna Placement 最小边覆盖
- POJ 3020 Antenna Placement(无向图最小边覆盖)
- Poj 3020 Antenna Placement【最小边覆盖 匈牙利算法】
- POJ 3020 Antenna Placement (最小边覆盖/最大匹配应用)
- 【二分图+最小路径覆盖】北大 poj 3020 Antenna Placement
- poj 3020 Antenna Placement 匈牙利二分匹配 最小覆盖数 !!!!
- POJ 3020Antenna Placement(二分图最小顶点覆盖)
- poj 3020 Antenna Placement(最小路径覆盖 + 匈牙利算法)
- poj 3020 Antenna Placement 二分图最小路径覆盖
- POJ 3020 Antenna Placement(匈牙利算法—最小路径覆盖)
- linux input输入子系统分析《四》:input子系统整体流程全面分析
- 最简单例子图解JVM内存分配和回收
- 引用的本质剖析
- AngularJS——ng-class
- FoxitReader_AX_Pro.ocx在其它电脑上报错异常
- POJ 3020 Antenna Placement(最小边覆盖)
- Android常用的系统广播的使用
- tableview和searchbar组合且不遮住状态栏
- 使用CMake编译用到cuFFT库的CUDA源代码
- 基于约束的SQL攻击
- git本地仓库push
- 自定义Viw之使用ViewDragHelper做条目的侧滑菜单
- android 开发零起步学习笔记(二十四):Android:打造“万能”Adapter与ViewHolder
- Redis 数据类型