FOJ1341 Gopher II
来源:互联网 发布:开源微信商城系统php 编辑:程序博客网 时间:2024/06/05 20:38
题意:输入n,m,s,v 然后给出n个地鼠坐标和m个洞坐标,v是地鼠跑的速度,一个洞里只能待一只地鼠,问s秒后最多有多少只地鼠被攻击(没被抓到)。
二分图
#include<stdio.h>#include<string.h>#include<math.h>#include<vector>#include<iostream>#include<algorithm>using namespace std;const int N=105;#define eps 1e-8vector<int>vt[N];struct point{ double x,y;}point[N],d[N];bool vis[N];int pre[N];double dis(int i,int j){ double tmp=(point[i].x-d[j].x)*(point[i].x-d[j].x)+(point[i].y-d[j].y)*(point[i].y-d[j].y); return sqrt(tmp);}int find(int k){ int i; for(i=0;i<vt[k].size();i++){ int j=vt[k][i]; if(vis[j])continue; vis[j]=1; if(pre[j]==-1 || find(pre[j])){ pre[j]=k; return 1; } } return 0;}int main(){ int i,j; int n,m; double s,v; while(cin>>n>>m>>s>>v){ for(i=1;i<=n;i++){ scanf("%lf %lf",&point[i].x,&point[i].y); } for(i=1;i<=m;i++){ scanf("%lf %lf",&d[i].x,&d[i].y); } for(i=1;i<=n;i++)vt[i].clear(); for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ if(s*v-dis(i,j)>eps)vt[i].push_back(j); } } int ans=0; memset(pre,-1,sizeof(pre)); for(i=1;i<=n;i++){ memset(vis,false,sizeof(vis)); if(find(i))ans++; } printf("%d\n",n-ans); } return 0;}
0 0
- FOJ1341 Gopher II
- Gopher II
- 2536 Gopher II
- pku2536 Gopher II
- POJ-2536 Gopher II
- poj 2536 Gopher II
- poj_2536 Gopher II
- UVA10080 Gopher II
- POJ-2536-Gopher II
- poj2536 Gopher II
- poj_ 2536Gopher II
- POJ 2536 Gopher II
- POJ 2536 Gopher II
- OpenJudge1538 Gopher II
- poj 2536 Gopher II
- POJ2536-Gopher II
- poj 2536 -- Gopher II (匈牙利)
- POJ 2536 Gopher II 笔记
- 华为HCDA认证全套最新讲解视频教程(笔记)
- zookeer集群 异常java.net.NoRouteToHostException: No route to host
- ubuntu 开启 ssh 服务
- ue4在关卡之间插入过场动画(播放视频)
- FOJ1504 Play Poker
- FOJ1341 Gopher II
- static 关键字 成员变量和静态变量的区别 静态使用的注意事项 静态代码块 构造代码块
- Oracle 在dos命令下导出导入
- 分布式监控系统ganglia配置文档
- POJ1595_Prime Cuts【素数】【水题】
- Thinkpad x60 Bios设置指南
- ssl双向验证
- 主函数!
- ubuntu jdk 安装与配置