poj 1695 Magazine Delivery
来源:互联网 发布:手机淘宝退款率怎么看 编辑:程序博客网 时间:2024/05/14 18:47
//POJ1695
#include <cstdio>
#include <cstring>
using namespace std;
int dp[32][32][32];
int dist[32][32];
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for (int i=1;i<n;i++)
for (int j=i+1;j<=n;j++)
{
scanf("%d",&dist[i][j]);
dist[j][i]=dist[i][j];
}
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
for (int k=1;k<=n;k++)
dp[i][j][k]=98999999;
dp[1][1][1]=0;
for (int k=2;k<=n;k++)
for (int i=1;i<k;i++)
for (int j=1;j<k;j++)
{
if (dp[i][j][k-1]+dist[k-1][k]<dp[i][j][k])
dp[i][j][k]=dp[i][j][k-1]+dist[k-1][k];
if (dp[i][j][k-1]+dist[i][k]<dp[j][k-1][k])
dp[j][k-1][k]=dp[i][j][k-1]+dist[i][k];
if (dp[i][j][k-1]+dist[j][k]<dp[i][k-1][k])
dp[i][k-1][k]=dp[i][j][k-1]+dist[j][k];
}
int min=dp[1][1][n];
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (dp[i][j][n]<min)
min=dp[i][j][n];
printf("%d/n",min);
}
return 0;
}
- poj 1695 Magazine Delivery
- poj 1695 Magazine Delivery
- poj 1695 Magazine Delivery
- dp-poj-1695-Magazine Delivery
- poj 1695 Magazine Delivery dp
- POJ-1695-Magazine Delivery-dp
- poj 1695 Magazine Delivery 记忆化搜索
- pku 1695 Magazine Delivery
- poj 1695 Magazine Delivery(记忆化/dp)
- Toj 1230 Magazine Delivery
- ZOJ 1428 Magazine Delivery
- ZOJ 1428 Magazine Delivery(DP)
- POJ1695 Magazine Delivery (记忆化DP)
- poj 4019 Immediate Delivery
- Delivery
- Delivery Completed
- Continuous Delivery
- Delivery SQL
- 吴冠中的一类国画:盛世的迷思
- hi,测试一下文章发送!
- Java中逻辑与,逻辑或,按位与,按位或的区分
- poj 2226 Muddy Fields
- ISG FootBalls Live
- poj 1695 Magazine Delivery
- poj 2155 Matrix
- poj 1635 Subway tree systems
- Java运算符优先级
- 0829冲刺第五天
- 【noi2005】维护数列
- poj 1523 SPF
- 如何解决2003共享需要密码问题?
- 无题札记(一)