分散点的bfs,先建立一个互相是否可达的二维数组,vis[i][j]代表到第i个点,走了j步的状态,注意判断新增路由器数量是否超过K。

#include<cstdio>
#include<iostream>
#include<queue>
using namespace std; struct point{
long long x,y,num,counts,sets;
}a[]; int cango[][] = {},vis[][] = {}; int main()
{
int n,m,k;
long long r;
cin >> n >> m >> k >> r;
for(int i = ;i <= m+n;i++)
{
cin >> a[i].x >> a[i].y;
a[i].num = i;
}
for(int i = ;i < m+n;i++)
{
for(int j = i;j <= m+n;j++)
{
if((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y) <= r*r)
{
cango[i][j] = cango[j][i] = ;
}
}
}
a[].counts = ;
a[].sets = ;
vis[][] = ;
queue<point> q;
q.push(a[]);
while(!q.empty())
{
long long num = q.front().num,counts = q.front().counts;
q.pop();
if(num == )
{
cout << counts- << endl;
return ;
}
for(int i = ;i <= m+n;i++)
{
long long sets;
if(i > n) sets = q.front().sets+;
else sets = q.front().sets;
if(cango[num][i] && !vis[i][counts+] && sets <= k)
{
a[i].sets = sets;
a[i].counts = counts+;
q.push(a[i]);
vis[i][counts+] = ;
}
}
}
}

最新文章

  1. Express 4 中如何使用connect-mongo
  2. php文件以二进制形式上传并放入到数据库中
  3. java中+的使用
  4. 3月22日 html(三)css样式表
  5. 前自加(++a)与后自加(a++)的差别
  6. 消息函数一般是私有的,因为不需要程序员显示的调用,但子类如果需要改写这个方法,则改成保护方法Protected
  7. async和await用法
  8. Android makefile 组织结构
  9. 小草手把手教你 LabVIEW 串口仪器控制——初识VISA串口
  10. macOS下python3通过scrapy框架重新生成不得姐网站视频采集过程日志
  11. zabbix 配置维护
  12. 奇怪吸引子---Halvorsen
  13. Spring 学习——Spring常用注解——@Component、@Scope、@Repository、@Service、@Controller、@Required、@Autowired、@Qualifier、@Configuration、@ImportResource、@Value
  14. Linux下生成随机密码(转)
  15. loadicon后一定要调用destroyicon吗
  16. PYTHON 常用API ***
  17. 初始设置ubuntu 16.04 Vps部署rails
  18. vue-cli配置axios,并基于axios进行后台请求函数封装
  19. Codeforces 576D. Flights for Regular Customers(倍增floyd+bitset)
  20. ARX添加新的图形对象到当前数据库空间ObjectARX PostCurrentSpace

热门文章

  1. 微信小程序开发笔记(二)
  2. JS中如何比较两个数组,取得数组二相对于数组一新增和去除的元素
  3. LGV - 求多条不相交路径的方案数
  4. dp-LCS(递归输出最短合串)
  5. Linux 断网安装MySQL5.x操作步骤
  6. importlib 根据字符串导入模块
  7. 在eclipse里用jdbc连接MySQL
  8. idea实现svn拉分支和合并分支的教程
  9. 填充区域 (Populating an Area) | 使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
  10. BZOJ4559 成绩比较