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

2959. 关闭分部的可行集合数目

2959. 关闭分部的可行集合数目


题目链接:2959. 关闭分部的可行集合数目

代码如下:

//参考链接:https://leetcode.cn/problems/number-of-possible-sets-of-closing-branches/solutions/2844227/guan-bi-fen-bu-de-ke-xing-ji-he-shu-mu-b-85ov
class Solution 
{
public:int numberOfSets(int n, int maxDistance, vector<vector<int>>& roads) {int res=0;vector<int> opened(n,0);vector<vector<int>> d(n,vector<int>(n,1000000));for(int mask=0;mask<(1<<n);mask++){for(int i=0;i<n;i++){opened[i]=mask&(1<<i);}fill(d.begin(),d.end(),vector<int>(n,1000000));for(const auto& road:roads){int i=road[0],j=road[1],r=road[2];if(opened[i]>0&&opened[j]>0){d[i][j]=d[j][i]=min(d[i][j],r);}}//Floyd最短路径算法for(int k=0;k<n;k++){if(opened[k]>0){for(int i=0;i<n;i++){if(opened[i]>0){for(int j=i+1;j<n;j++){d[i][j]=d[j][i]=min(d[i][j],d[i][k]+d[k][j]);}}}}}int good=1;for(int i=0;i<n;i++){if(opened[i]>0){for(int j=i+1;j<n;j++){if(opened[j]>0&&d[i][j]>maxDistance){good=0;break;}}if(!good){break;}}}res+=good;}return res;}
};
http://www.lryc.cn/news/412450.html

相关文章:

  • 第十九天培训笔记
  • 初学者编程指南:方法与资源推荐
  • 【SpringBoot】数据验证之URL参数校验
  • 目标检测 | yolov2/yolo9000 原理和介绍
  • 基于Raft算法的分布式KV数据库:一、开篇
  • react-日期选择器封装
  • 【C++题解】1022. 百钱百鸡问题
  • 计算机毕业设计选题推荐-二手闲置交易系统-Java/Python项目实战
  • AI Agents(智能代理)教程:如何创建信息检索聊天机器人
  • Linux——管理本地用户和组(详细介绍了Linux中用户和组的概念及用法)
  • Flink-StarRocks详解:第三部分StarRocks分区分桶(第53天)
  • 8G内存的Mac够用吗 ?苹果电脑内存满了怎么清理?可以有效地管理和优化你的Mac电脑内存,确保设备运行流畅
  • 【LabVIEW学习篇 - 10】:属性、调用节点
  • 如何在数据埋点中发现和修复数据上报逻辑错误
  • 程序员面试“八股文”:助力成长还是应试枷锁?
  • 强化学习-alphazero 算法理论
  • 使用 Rough.js 创建动态水平条形图
  • Python教程(十):面向对象编程(OOP)
  • CTFHUB-文件上传-文件头检查
  • c语言数组与指针,字符串与指针,指向函数的指针,malloca动态内存分配
  • 代码随想录算法训练营day30 | 452. 用最少数量的箭引爆气球 、435. 无重叠区间、763.划分字母区间
  • 如何手动修复DLL丢失?2种手动修复dll文件方法
  • Node.js(2)——压缩前端html
  • 堆的实现-向上调整算法-向下调整算法-堆排序-TopK问题 C语言
  • 【C++BFS】1466. 重新规划路线
  • 服务器并发模型
  • Chapter 23 数据可视化——地图
  • Linux笔记 --- 组合数据类型
  • DaoCloud-Dockfile文件NGINX文件
  • 耳机行业中MIC ENC