poj 2686 Traveling by Stagecoach(状压dp)
来源:互联网 发布:成都网络服务器租用 编辑:程序博客网 时间:2024/05/16 11:55
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<algorithm>using namespace std;#define inf 0x3f3f3f3f#define lc l,m,index<<1#define rc m+1,r,index<<1|1#define max_n 100005#define mod 1000000007double t[max_n];double dp[1<<10][100];double d[105][105];int n,m,a,b,p;void init(){ for(int i=0;i<105;i++) { for(int j=0;j<105;j++) d[i][j]=inf; } for(int i=0;i<1<<n;i++) { fill(dp[i],dp[i]+m,inf); }}int main(){ while(~scanf("%d%d%d%d%d",&n,&m,&p,&a,&b)) {if(n==m && m==p && p==0)break; init(); for(int i=0;i<n;i++) scanf("%lf",&t[i]); for(int i=0;i<p;i++) { int x,y; double val; scanf("%d%d%lf",&x,&y,&val);x--;y--; d[x][y]=min(d[x][y],val); d[y][x]=min(d[y][x],val); } dp[(1<<n)-1][a-1]=0; double ans=inf; for(int s=(1<<n)-1;s>=0;s--) { ans=min(ans,dp[s][b-1]); for(int v=0;v<m;v++) { for(int i=0;i<n;i++) { if(s>>i&1) { for(int u=0;u<m;u++) { if(d[v][u]!=inf) dp[s&~(1<<i)][u]=min(dp[s&~(1<<i)][u],dp[s][v]+d[v][u]/t[i]); } } } } } if(ans==inf) printf("Impossible\n"); else printf("%.3f\n",ans); } return 0;}
0 0
- poj 2686 Traveling by Stagecoach(状压dp)
- POJ 2686 Traveling by Stagecoach(状压DP)
- Poj 2686 Traveling by Stagecoach【状压dp】
- poj 2686 Traveling by Stagecoach(状压dp)
- 【POJ 2686 Traveling by Stagecoach】+ 状压dp
- Traveling by Stagecoach POJ - 2686 状压dp
- [POJ-2686] Traveling by Stagecoach(状压dp)
- POJ 2686 Traveling by Stagecoach 壮压DP
- POJ 2686 Traveling by Stagecoach(状压DP)
- poj 2686 Traveling by Stagecoach TSP 图 状压dp
- POJ 2686 ->Traveling by Stagecoach(状压DP)
- poj 2686 Traveling by Stagecoach (状压dp)
- POJ-2686-Traveling by Stagecoach
- POJ 2686 Traveling by Stagecoach
- POJ 2686 Traveling by Stagecoach
- POJ 2686 Traveling by Stagecoach
- POJ 2686 Traveling by Stagecoach
- poj 2686 Traveling by Stagecoach
- 黑马程序员——枚举类型
- ios 代理传值
- HDU 1256 画8
- JAVA版俄罗斯方块学习
- 01背包之打印路径
- poj 2686 Traveling by Stagecoach(状压dp)
- 数据库连接池异常
- UVA 10588 - Queuing at the doctors(优先队列)
- 【leetcode】Word Ladder
- ARM启动(OK6410)
- linux tar 解压命令总结
- Android Fragment---与Activity生命周期的协调
- 要读
- POJ_1061_青蛙的约会_扩展欧基里德