博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1719
阅读量:6868 次
发布时间:2019-06-26

本文共 610 字,大约阅读时间需要 2 分钟。

Shooting Contest

题意:r行c列的矩阵上,每列有两个白色点,用c发子弹打到矩阵上的点,能否使每列有且只有一个白点被击中而每行起码有一个白点被击中(这个题意当初没理解好,纠结一个下午都不知道为什么WA)?若能,则求其中一个白点组合;不能则输出“NO”。

分析:受人指教,这个图可以把行作为一个集合,列作为一个集合,若第i行第j列是白色的,则有边(i,j),可以保证这样的图是二分图。只要在这个图里求出最大匹配(在匹配的情况下,每列都只会选到一行),匹配数等于r则能满足条件(有匹配的列都直接输出匹配点,注意c可能大于r,因此没匹配到的列里每列随便拿出一个白点就能得出解)。

View Code
1 #include
2 #include
3 using namespace std; 4 vector
vex[5000]; 5 int r,c,max_match,mat[5000]; 6 bool visited[5000]; 7 int path(int u) 8 { 9 int i,v;10 for(i=0;i

 

转载于:https://www.cnblogs.com/ZShogg/archive/2013/03/08/2950410.html

你可能感兴趣的文章
Android SparseArray 原理解析
查看>>
PHP类的定义
查看>>
Composer 中国镜像地址配置
查看>>
IE8兼容问题
查看>>
easyui-datagrid 编辑模式详解
查看>>
《JUnit实战(第2版)》—第2章2.1节探索JUnit核心
查看>>
Docker背后的内核知识:命名空间资源隔离
查看>>
《圣殿祭司的ASP.NET4.0专家技术手册》---- 1-13 ClientBuilderManager类别的编译功能...
查看>>
《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.7 修复错误...
查看>>
《Redis入门指南(第2版)》一3.2 字符串类型
查看>>
《Adobe Flash Professional CC经典教程》——1.3 使用“库”面板
查看>>
《Android应用开发入门经典(第3版)》——导读
查看>>
xmemcached发布1.3.6
查看>>
《Nmap渗透测试指南》—第6章6.4节IP欺骗
查看>>
Samba 系列(九):将 CentOS 7 桌面系统加入到 Samba4 AD 域环境中
查看>>
《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源
查看>>
《C语言及程序设计》实践参考——当年第几天
查看>>
前端使用fis3开启本地服务器,并实现热加载功能
查看>>
看BAT技术面试官如何挑选Java程序员
查看>>
AI强势来袭,锁上手机就真的安全了吗?
查看>>