【二分+广搜】poj 2485 Highways
来源:互联网 发布:数控编程代码z代表什么 编辑:程序博客网 时间:2024/06/05 21:16
二分无鸭梨
#include <vector>#include <list>#include <limits.h>#include <map>#include <set>#include <deque>#include <queue>#include <stack>#include <bitset>#include <algorithm>#include <functional>#include <numeric>#include <utility>#include <sstream>#include <iostream>#include <iomanip>#include <cstdio>#include <cmath>#include <cstdlib>#include <ctime>#include <string.h>#include <stdlib.h>using namespace std;int road[505][505], n;bool check[505][505];bool okay(int dis){bool connect[505];memset(connect, false, sizeof(connect));queue<int> q;q.push(0); connect[0]=true;int counter = 1;while(q.empty() == false){int tmp = q.front();q.pop();for(int i=0; i<n; i++){if(check[tmp][i]==true && connect[i]==false){connect[i]=true;q.push(i);counter++;}}// end for loop}// end whilereturn (counter==n);}int main(){int t;scanf("%d", &t);while(t--){scanf("%d", &n);for(int i=0; i<n; i++)for(int j=0; j<n; j++)scanf("%d", road[i]+j);int left = 0, right = 65536;while(left < right){int middle = (left+right)>>1;for(int i=0; i<n; i++)for(int j=0; j<n; j++)check[i][j] = (road[i][j]<=middle);if(okay(middle)==true)right = middle;elseleft = middle+1;}printf("%d\n", left);}//system("pause");return 0;}
- 【二分+广搜】poj 2485 Highways
- POJ 2485 Highways(最小生成树变形+二分答案)
- poj poj 2485 Highways
- POJ 2485 Highways
- poj 2485 Highways
- POJ-2485 highways
- POJ 2485 Highways Kruskal
- poj 2485 Highways
- Poj 2485 Highways
- POJ 2485 Highways
- poj 2485 Highways
- poj 2485 Highways
- POJ 2485 Highways
- POJ 2485 Highways
- POJ 2485 Highways
- POJ 2485 Highways
- Poj 2485 Highways
- poj 2485 Highways
- HTML 布局常见问题
- 敏捷开发_WorkBalance
- 逻辑运算符&&、||、!使用分析
- Vim+cscope+ctags+tags阅读源代码
- sphinx使用心得
- 【二分+广搜】poj 2485 Highways
- 位运算符分析
- Java中的多态的详细讲解
- aix 压缩软件及工具库 下载地址
- 巧用OpenCV计算图片序列(矩阵)的直方图
- ++、--操作使用分析
- Effective c++ 笔记—视c++ 为一个语言联邦
- 编程之美 2.18 数组分割
- HDU/HDOJ1851 nim博弈和巴什博弈的结合