当前位置: 首页 > news >正文

阿里云域名如何做网站/关键词在线听免费

阿里云域名如何做网站,关键词在线听免费,工信部网站106575000130,wordpress建站创业http://poj.org/problem?id1034 题意: 猎人和狗一起出去,狗的速度是猎人的两倍,给出猎人的路径坐标,除了这些坐标外,地图上还有一些有趣的点,而我们的狗,就是要尽量去多的有趣的点。前提是在猎…

http://poj.org/problem?id=1034

题意:

猎人和狗一起出去,狗的速度是猎人的两倍,给出猎人的路径坐标,除了这些坐标外,地图上还有一些有趣的点,而我们的狗,就是要尽量去多的有趣的点。前提是在猎人到达一个点的时候,狗必须也正好到。

 

思路:

二分图匹配,猎人的路径在一边,有趣的点在另一边,我们就是求一个最大匹配。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<string>
 4 #include<cstring>
 5 #include<cmath>
 6 using namespace std;
 7 
 8 struct node
 9 {
10     int x, y;
11 };
12 
13 node Bob[105], Dog[105];
14 int g[105][105];
15 int vis[105];
16 int match[105];
17 int path[105];
18 int n, m;
19 
20 
21 double dis(int x1, int y1, int x2, int y2)
22 {
23     return sqrt((double)(x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1));
24 }
25 
26 
27 int dfs(int x)
28 {
29     for (int i = 0; i < m; i++)
30     {
31         if (g[x][i] && !vis[i])
32         {
33             vis[i] = 1;
34             if (match[i]==-1 || dfs(match[i]))
35             {
36                 match[i] = x;
37                 return 1;
38             }
39         }
40     }
41     return 0;
42 }
43 
44 int main()
45 {
46     //freopen("D:\\txt.txt", "r", stdin);
47     while (cin >> n >> m)
48     {
49         for (int i = 0; i < n; i++)
50             cin >> Bob[i].x >> Bob[i].y;
51         for (int i = 0; i < m; i++)
52             cin >> Dog[i].x >> Dog[i].y;
53 
54         memset(g, 0, sizeof(g));
55         memset(match, -1, sizeof(match));
56 
57         for (int i = 0; i < n - 1; i++)
58         for (int j = 0; j < m; j++)
59         {
60             double d1 = dis(Bob[i].x, Bob[i].y, Bob[i + 1].x, Bob[i + 1].y);
61             double d2 = dis(Bob[i].x, Bob[i].y, Dog[j].x, Dog[j].y);
62             double d3 = dis(Bob[i + 1].x, Bob[i + 1].y, Dog[j].x, Dog[j].y);
63             if (d2 + d3 - 2 * d1 <= 0)
64                 g[i][j] = 1;
65         }
66         int ans = 0;
67         for (int i = 0; i < n; i++)
68         {
69             memset(vis, 0, sizeof(vis));
70             if(dfs(i)) ans++;
71         }
72         cout << ans + n << endl;
73 
74         memset(path, -1, sizeof(path));
75         for (int i = 0; i < m; i++)
76         {
77             if (match[i] != -1)
78                 path[match[i]] = i;
79         }
80         for (int i = 0; i < n - 1; i++)
81         {
82             cout << Bob[i].x << " " << Bob[i].y << " ";
83             if (path[i] != -1)
84                 cout << Dog[path[i]].x << " " << Dog[path[i]].y << " ";
85         }
86         cout << Bob[n - 1].x << " " << Bob[n - 1].y << endl;
87     }
88     return 0;
89 }

 

转载于:https://www.cnblogs.com/zyb993963526/p/6581965.html

http://www.jmfq.cn/news/5179285.html

相关文章:

  • 做花语的网站/今日新闻热点10条
  • 网站空间下载/aso优化师
  • 庄河网站建设公司/安徽网站关键字优化
  • 英文网站制作注意点/优化软件刷排名seo
  • 长沙做网站排名/外贸网站平台有哪些
  • iis网站服务器安全隐患分析/网站服务器一年的费用
  • 建网站哪家好案例/hao123上网从这里开始官方
  • 标准网站建设哪家便宜/百度推广优化公司
  • 信阳市住房和城乡建设厅网站/推广赚佣金的软件排名
  • 建设专业网站价格/网店运营入门基础知识
  • 西安专题门户响应式网站建设/广告电话
  • 网站后台无法修改/中央常委成员名单
  • 网站模板没有html文件下载/英语培训
  • 微网站如何做微信支付/网络营销推广策划
  • 网页设计师联盟官网/网站seo案例
  • 郑州网站建设制作/活动营销方案
  • 福州做彩票app网站/公众号软文是什么意思
  • 网站建设规划设计公司/全网营销系统怎么样
  • 国外设计网站dooor/今天晚上19点新闻联播直播回放
  • 创建网站用突唯阿做响应式网站/竞价托管多少钱
  • cba目前排名/seo教程技术
  • phpcms v9网站建设/有哪些平台可以免费发广告
  • 用jsp做的购物网站/网站搭建步骤
  • 女生学建筑工程技术就业前景/关键词优化有哪些作用
  • 海口网吧/seo知识总结
  • 可以将自己做的衣服展示的网站/先做后付费的代运营
  • 济南网站制作公司排名/郑州好的seo外包公司
  • 网站系统开发怎么做/网站建设公司官网
  • 北京西站疫情/网站建设网站定制
  • 完全的图片宣传网站怎么做/最新seo网站优化教程