题意很纠结,还有找对应关系,我已开始用c去对应r,看cou是否等于c,这就错了,题意说每一行必须射一点,所以应该r去对应c,看cou是否=r 
#include<iostream>
using namespace std;
int r,c;
int map[1005][1005],vis[1005],pa[1005],ans[1005];
int find(int x)
{
for(int i=1;i<=c;i++)
{
if(map[x][i]&&!vis[i])
{
vis[i]=1;
if(pa[i]==-1||find(pa[i]))
{
pa[i]=x;
return 1;
}
}
}
return 0;
}
int main()
{
int ca,x,y;
while(cin>>ca)
{
while(ca--)
{
cin>>r>>c;
for(int i=0;i<=1001;i++)
{
for(int j=0;j<=1001;j++)
map[i][j]=0;
pa[i]=-1;
}
for(int i=1;i<=c;i++)
{
scanf("%d%d",&x,&y);
map[x][i]=1;
map[y][i]=1;
}
if(c<r)//当r>c时,cou不可能等于r也就是说不是所有行都可以被射到,所以不符合要求,直接输出no
{
printf("NO\n");
continue;
}
int cou=0;
for(int i=1;i<=r;i++)
{
memset(vis,0,sizeof(vis));
if(find(i))
cou++;
}
if(cou==r)
{
for(int i=1;i<=c;i++) //这时候每一行都被射到过,可能存在列没有被射到,可以再该列中任意选一个格子
{
if(pa[i]!=-1)
{
if(i<c)
printf("%d ",pa[i]);
else
printf("%d\n",pa[i]);
}
else
{
for(int j=1;j<=r;j++)
{
if(map[j][i]==1)
{
if(i<c)
printf("%d ",j);
else
printf("%d\n",j);
break;
}
}
}
}
}
else
printf("NO\n");
}
}
return 0;
}

poj 1719 Shooting Contest 二分匹配相关推荐

  1. POJ 1719 Shooting Contest

    题目:http://poj.org/problem?id=1719 要求每一行必须都被射到,每一列恰好一个格子被射到. 通过行r去求匹配数num 当r<=c时,num是可以等于r的 这时候每一行 ...

  2. POJ 3057 Evacuation(二分匹配)

    分析: 这是一个时间和门的二元组(t,d)和人p匹配的问题,当我们固定d0时,(t,d0)匹配的人数和t具有单调性. t增加看成是多增加了边就行了,所以bfs处理出p到每个d的最短时间,然后把(t,d ...

  3. POJ - 2446 Chessboard 二分匹配+建图

    题目链接 题意很简单,是二分匹配的一种常见的题型,问题就在于怎样转换到二分图上来. 首先对对n*m-k正常点进行编号,然后遍历查找每一个正常点的上下左右是否能连接(就是判断另个点是否也是正常的),如果 ...

  4. 利用匈牙利算法Hopcroft-Karp算法解决二分图中的最大二分匹配问题 例poj 1469 COURSES...

    首先介绍一下题意:已知,有N个学生和P门课程,每个学生可以选0门,1门或者多门课程,要求在N个学生中选出P个学生使得这P个学生与P门课程一一对应. 这个问题既可以利用最大流算法解决也可以用匈牙利算法解 ...

  5. 石油采集(求联通区域) 2018多校寒假集训 (dfs+二分匹配)

    题目: 链接:https://www.nowcoder.com/acm/contest/76/A 来源:牛客网 随着海上运输石油泄漏的问题,一个新的有利可图的行业正在诞生,那就是撇油行业.如今,在墨西 ...

  6. SGU 286 Ancient decoration(Euler路径+二分匹配)

    http://acm.sgu.ru/problem.php?contest=0&problem=286 先找欧拉回路,再做二分匹配,输出匹配 有一道题和这个很像:HDU 3551 Hard P ...

  7. 牛客练习赛30: D. 消消乐(二分匹配+输出最小点覆盖)

    链接:https://ac.nowcoder.com/acm/contest/216/D 来源:牛客网 题目描述 r神在和小b比赛玩一个名为"消消乐"的游戏,在一个n*m的棋盘上, ...

  8. 牛客练习赛30: E. 国政议事(二分匹配)

    链接:https://ac.nowcoder.com/acm/contest/216/E 来源:牛客网 题目描述 对于任何一个高速发展的发展中国家而言,一个高效的领导小组是不可或缺的. 现在我们知道k ...

  9. poj3041--Asteroids(二分匹配)[将矩阵行列转化为边]

    题目大意,给出n*n的矩阵,其中有m个流星,一下给出每颗流星的坐标,每一次攻击可以消除一行或一列的流星,问最少攻击几次? 竟然是二分匹配!竟然是二分匹配!竟然是二分匹配!竟然是二分匹配! 建图,以行为 ...

  10. 香港大学提出OneNet:一阶段端到端目标检测网络,无需NMS!无需二分匹配!

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 本文作者:孙培泽 |  编辑:Amusi https://zhuanlan.zhihu.com ...

最新文章

  1. Permission denied: make_sock: could not bind to address [::]:81 Apache 虚拟主机
  2. php file_get_contents 临时目录 fopen,php fopen()和file_get_contents() 区别介绍
  3. JS实现的ajax和同源策略
  4. CodeChef Cards, bags and coins [DP 泛型背包]
  5. Linux环境搭建 | 手把手教你配置Linux虚拟机
  6. mysql DATE_FORMAT 年月日时分秒格式化
  7. Oracle面试题及答案整理
  8. CodeForces - 353E Antichain(贪心+思维)
  9. product thumbnail区域未能显示的原因分析
  10. laravel 内部验证码
  11. app engine_App Engine中的Google Services身份验证,第2部分
  12. [html] 给内联元素加float与给块元素加float有什么区别?
  13. Qt工作笔记-Qt文档笔记-QPainter::drawText写文本并且居中
  14. js 实现两个小数的相乘、相除功能
  15. php是啥_php是什么
  16. html2canvas截图只截取当前可视区域的问题
  17. @cacheable 服务器 不一致_Dubbo一致性哈希负载均衡的源码和Bug,了解一下?
  18. Ubuntu安装gcc 以及g++
  19. 灵感专题—2019年优秀网页设计作品赏析#5月
  20. provisional headers are shown问题排查

热门文章

  1. 坑爹的libxml2 for mingw 编译
  2. 【系统架构】VC 开发辅助工具大收集
  3. 第二次作业 贺俊朋-201731062431
  4. PhotoZoom放大图片,真的能无损吗?
  5. KICKSTART无人值守安装系统
  6. Entity Framework 无法加载指定的元数据资源。
  7. Redis 中文入库成功,读取数据写入文件乱码问题
  8. Alfresco 4 项目介绍
  9. Python urllib2 设置超时时间并处理超时异常
  10. 强烈推荐Seam实战