HDOJ 1869 六度分离(floyd最短路~)
2017-08-05 15:05
429 查看
这是用floyd做的,我看到还有用spfa的做法,可是我懒TAT。。。
虽然AC了,可是时间真的贼长。。。。唉,所幸是写起来无压力!#include <cstdio>// Floyd算法,在不超时的情况下更简洁方便
#include <cstring>
using namespace std;
#define MAXN 1010
#define INF 0x3f3f3f3f
int map[MAXN][MAXN];
int n, m, x, y;
int main(void) {
while (~scanf("%d%d", &n, &m)) {
bool flag = true;
memset(map, INF, sizeof(map));
for (int i = 0; i < n; i++)
map[i][i] = 0;
for (int i = 0; i < m; i++) {
scanf("%d%d", &x, &y);
map[x][y] = map[y][x] = 1;
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (map[i][j] > map[i][k] + map[k][j])
map[i][j] = map[i][k] + map[k][j];
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
if (map[i][j] > 7) {
flag = false;
}
}
if (flag)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
虽然AC了,可是时间真的贼长。。。。唉,所幸是写起来无压力!#include <cstdio>// Floyd算法,在不超时的情况下更简洁方便
#include <cstring>
using namespace std;
#define MAXN 1010
#define INF 0x3f3f3f3f
int map[MAXN][MAXN];
int n, m, x, y;
int main(void) {
while (~scanf("%d%d", &n, &m)) {
bool flag = true;
memset(map, INF, sizeof(map));
for (int i = 0; i < n; i++)
map[i][i] = 0;
for (int i = 0; i < m; i++) {
scanf("%d%d", &x, &y);
map[x][y] = map[y][x] = 1;
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (map[i][j] > map[i][k] + map[k][j])
map[i][j] = map[i][k] + map[k][j];
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
if (map[i][j] > 7) {
flag = false;
}
}
if (flag)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
相关文章推荐
- HDOJ 1869 六度分离(最短路之floyd)
- HDOJ 1869 六度分离 (最短路 Dijkstra && SPFA && Floyd)
- HDOJ 1869 六度分离(Floyd)
- HDOJ 六度分离 1869【简单最短路】
- hdoj 1869 六度分离 【判断任意点最短路是否小于等于7】
- [置顶] HDOJ 1869 六度分离(Floyd 和 dijkstra 算法)
- hdoj 1869 六度分离(floyd)
- hdoj1869 六度分离(dijstra——floyd)
- Hud 1869 六度分离[基础最短路floyd]
- HDOJ 题目1869 六度分离(最短路)
- hdu 1869 六度分离(floyd最短路)
- hdoj--1869--六度分离(floyd)
- HDOJ 1869 六度分离(floyd)
- HDOJ 1869 六度分离(最短路--dijkstra)
- hdoj--1869--六度分离(floyd)
- HDOJ-1869六度分离(FLOYD)
- hdoj1869六度分离(floyd)
- hdoj-1869 六度分离【最短路径--dijkstra&&spfa&&floyd】
- hdoj 1869 六度分离【最短路的3种写法】
- HDOJ 1869 六度分离【Floyd】