poj 3311 Hie with the Pie ,floyd + 枚举排列
2016-08-18 19:24
471 查看
题意:给出一个图,求从0开始走,经过所有节点再回到0的最小时间。
先用floyd处理一遍,找出两个点之间的最短路径,然后枚举排列找最小值。#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int mp[11][11];
int v[20];
int main() {
int n, i, j, k;
while(~scanf("%d", &n) && n) {
for(i = 0; i <= n; i++) {
for(j = 0; j <= n; j++)
scanf("%d", &mp[i][j]);
}
for(i = 0; i <= n; i++) {
for(j = 0; j <= n; j++) {
for(k =0 ; k <= n; k++) {
if(mp[j][k] > mp[j][i] + mp[i][k])
mp[j][k] = mp[j][i] + mp[i][k];
}
}
}
for(i = 0; i <= n; i++) {
v[i] = i;
}
int ans = 0x3f3f3f3f;
do{
int t = 0;
for(i = 1; i <= n; i++) {
t += mp[v[i - 1]][v[i]];
}
t += mp[v
][0];
if(t < ans)
ans = t;
}while(next_permutation(v + 1, v + 1 + n));
printf("%d\n", ans);
}
return 0;
}
先用floyd处理一遍,找出两个点之间的最短路径,然后枚举排列找最小值。#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int mp[11][11];
int v[20];
int main() {
int n, i, j, k;
while(~scanf("%d", &n) && n) {
for(i = 0; i <= n; i++) {
for(j = 0; j <= n; j++)
scanf("%d", &mp[i][j]);
}
for(i = 0; i <= n; i++) {
for(j = 0; j <= n; j++) {
for(k =0 ; k <= n; k++) {
if(mp[j][k] > mp[j][i] + mp[i][k])
mp[j][k] = mp[j][i] + mp[i][k];
}
}
}
for(i = 0; i <= n; i++) {
v[i] = i;
}
int ans = 0x3f3f3f3f;
do{
int t = 0;
for(i = 1; i <= n; i++) {
t += mp[v[i - 1]][v[i]];
}
t += mp[v
][0];
if(t < ans)
ans = t;
}while(next_permutation(v + 1, v + 1 + n));
printf("%d\n", ans);
}
return 0;
}
相关文章推荐
- POJ 3311 Hie with the Pie(Floyd + 状压dp)
- POJ 3311 Hie with the Pie (Floyd + 状压dp 简单TSP问题)
- poj 3311 Hie with the Pie(floyd + 状压dp)
- POJ 3311 Hie with the Pie (flyod + DFS枚举)
- POJ 3311 Hie with the Pie (Floyd + 暴力全排列 || Floyd + 状态压缩DP (已补充))
- poj 3311 Hie with the Pie 【旅行商+回原点】
- POJ 3311 Hie with the Pie
- POJ 3311 Hie with the Pie(状压dp+floyd)
- POJ 3311 Hie with the Pie(TSP问题DP解)
- POJ - 3311 Hie with the Pie
- POJ 3311 Hie with the Pie(状态压缩DP)
- POJ 3311 Hie with the Pie(状压DP)
- POJ 3311 Hie with the Pie(旅行商问题)
- Poj 3311 Hie with the Pie (状压DP)
- poj 3311 Hie with the Pie(状态压缩DP)
- poj 3311 Hie with the Pie (floyd+状态压缩dp)
- Poj 3311 Hie with the Pie 【TSP+floyd】
- POJ 3311 Hie with the Pie【状态压缩DP】
- poj 3311 Hie with the Pie (DP)
- POJ3311——Hie with the Pie