正题


大意

有n个地鼠有m个地洞,每只地鼠的速度都是v。若不在s秒之内回到地洞就会狗带,每只地洞只能躲一只地鼠,求能活下来多少只


代码

#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
struct line{int x,y,next;
}a[10001];
int link[101],n,m,ls[101],xx,yy,ss,t,w,si,vi;
double dx[101],dy[101],zx,zy;
double s,v;
bool cover[101];
double pows(double x)
{return x*x;
}
double dis(double x1,double y1,double x2,double y2)
{return sqrt(pows(x1-x2)+pows(y1-y2));
}//计算距离
bool find(int x)//寻找增广链
{int p=0;for (int q=ls[x];q;q=a[q].next){if (!cover[a[q].y]){p=link[a[q].y];link[a[q].y]=x;cover[a[q].y]=true;if (!p || find(p)) return true;link[a[q].y]=p;}}return false;
}
int main()
{scanf("%d",&t);for (int i=1;i<=t;i++){memset(link,0,sizeof(link));memset(ls,0,sizeof(ls));w=0;ss=0;scanf("%d%d%d%d",&n,&m,&si,&vi);s=si;v=vi;for (int i=1;i<=n;i++){scanf("%lf%lf",&dx[i],&dy[i]);}double q=0;for (int i=1;i<=m;i++){scanf("%lf%lf",&zx,&zy);for (int j=1;j<=n;j++){q=dis(dx[j],dy[j],zx,zy);if (q<=s*v)//可以跑到{a[++w].x=j;a[w].y=i;a[w].next=ls[j];ls[j]=w;}}}for (int i=1;i<=n;i++){memset(cover,false,sizeof(cover));if (!find(i)) ss++;}eprintf("%d\n",ss);}
}

ssl1333-地鼠的困境【二分图,最大匹配,图论】相关推荐

  1. 地鼠的困境(最大匹配)

    地鼠的困境 Description 地鼠家族面临着一个新的威胁--猎食者. 地鼠家族一共有N个地鼠和M个鼠洞,每个都位于不同的(x, y)坐标中.假如有地鼠在发觉危险以后s秒内都没有回到鼠洞里的话,就 ...

  2. ssl1335-最佳派对【二分图,最大匹配,图论】

    正题 题目 有n个中国学生与若干个外国学生,一些中国学生与外国学生之间可以很好的配对,求能配成的最多对数 解题思路 二分图匈牙利算法 代码 #include<cstdio> #includ ...

  3. 图论总结(一)二分图最大匹配

    二分图最大匹配 (一).二分图 1.定义 2.性质 3.判定 (二).二分图的匹配 1.二分图的最大匹配 2. König定理及其证明 3.最小边覆盖与最大独立集 (三).增广路径 1.定义 2.性质 ...

  4. 图论——入门级二分图最大匹配Bipartite Matching

    1.问题描述 我们先来了解一下相关图论的概念: 二分图:又称二部图.是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果结点集V可分割为两个互不相交的子集(V1,V2),并且图中的每条边(i,j ...

  5. 图论--二分图最大匹配(匈牙利算法)--模板

    //二分图最大匹配数量 #include<cstdio> #include<cstring> #include<iostream> #include<queu ...

  6. python最长匹配_二分图最大匹配:匈牙利算法的python实现

    二分图匹配是很常见的算法问题,一般用匈牙利算法解决二分图最大匹配问题,但是目前网上绝大多数都是C/C++实现版本,没有python版本,于是就用python实现了一下深度优先的匈牙利算法,本文使用的是 ...

  7. 二分图判断以及二分图最大匹配

    概念 二分图又称作二部图 ,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的 ...

  8. 二分图最大匹配与其应用

    部分定义 传递闭包 一个图.如果图 G G G中点i" role="presentation">iii到点 j j j存在通路,那么在传递闭包中有边i−>j& ...

  9. 匈牙利算法 求二分图最大匹配

    匈牙利算法 1. 二分图 二分图: 又称作二部图,是图论中一种特殊模型.设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中每条边所关联的两个顶点 i 和 j 分别属 ...

最新文章

  1. python数据处理实例-入门Python数据分析最好的实战项目(一)
  2. 江苏省教育厅与阿里云合作变革“智慧教育”
  3. VTK:可视化算法之ProbeCombustor
  4. Qt路径中常用字符“./”、“../”、“/”、“*”的含义
  5. 数据结构-队列之顺序队列
  6. Python | 在列表中指定索引处添加元素的程序
  7. 实验二:编写输出Hello World!
  8. 【Flink】Flink 小知识点 Flink 同时 保存 offset 到backend 和 kafka 内置 topic
  9. 美女程序员如何面对男友出轨
  10. SwitchHosts工具介绍及下载
  11. matlab实现一阶低通滤波器,matlab仿真一阶低通滤波器幅频特性和相频特性[计算机类]...
  12. python中集合的符号_python集合中的操作符有哪些?怎么用?
  13. EOS Utility无法安装的问题解决
  14. 跟我一起学python3(一)
  15. phpqrcode简单在线二维码生成工具源码 非第三方接口
  16. 直击|知乎App增加视频回答入口 视频流归到问题下
  17. 网络设置巨形帧_修改网卡配置连接千兆网络的详细步骤
  18. Gentoo USE参数清单中文详解
  19. 集美大学计算机学院和信息工程学院,集美大学有哪些院系和专业-什么专业比较好...
  20. 仿微信公众平台登录页面

热门文章

  1. linux查看mq是否启动的命令,rocketmq查看命令
  2. python choice添加下拉框_自定义Django Form中choicefield下拉菜单选取数据库内容实例...
  3. python数学计算_初学者Python学习笔记--数学计算
  4. 7-9 删数问题 (10 分)(思路加详解)
  5. 7-1 寻找大富翁 (25 分)(思路加详解+两种做法(一种优先队列,一种vector容器))
  6. Java语法基础50题训练(上)
  7. 《C++ Primer》7.3.4节练习
  8. 高等数学上-赵立军-北京大学出版社-题解-练习4.5
  9. [蓝桥杯2018初赛]第几天-日期计算(水题)
  10. Singleton(单件)--对象创建模式