P1576 最小花費
錯誤: 第31行 maxd 型別為double,賦成int!
解法:
把消耗轉化為剩餘 , 運用最短路演算法dijstra來找一遍最長路
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
#include<vector>
#include<cstdio>
#include<cmath>
using namespace std;
double f[2001][2001],dis[2001 ];
bool vis[2001];
int n,m,s,t;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
int x,y;
double z;
scanf("%d%d%lf",&x,&y,&z);
f[x][y]=(100-z)/100.0;
f[y][x]=f[x][y];
}
scanf("%d%d",&s,&t);
for(int i=1;i<=n;i++) dis[i]=f[s][i];
dis[s]=1 ,vis[s]=true;
int kk=0;
for(int k=1;k<=n-1;k++)
{
double maxd=0;// 不可為int !這裡錯過!
for(int i=1;i<=n;i++)
{
if(dis[i]>maxd&&!vis[i])
maxd=dis[i],kk=i;
}
vis[kk]=true;
if(kk==t) break;
for(int i=1 ;i<=n;i++)
{
if(dis[kk]*f[kk][i]>dis[i]&&!vis[i])
dis[i]=dis[kk]*f[kk][i];
}
}
double ans;
ans=100.0/dis[t];
printf("%.8lf",ans);
return 0;
}
相關推薦
洛谷 P1576 最小花費 dijkstar
bool sin int 輸出格式 break bar ons ace main P1576 最小花費 題目背景 題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裏扣除百分之幾的手續費
洛谷 P1576 最小花費
-s 正整數 描述 直接 oid ios org badge color P1576 最小花費 題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裏扣除百分之幾的手續
C++ P1576 最小花費
呃,用最短路dijkstra演算法,求一下。。。求。。求。。求一下 -0.0: x = 100 / dis 其中,x是我們要求的最小費用,然後。。。有腦袋的人已經想到了,求出dis最大就好了(別問
洛谷P1576 最小花費
題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額里扣除百分之幾的手續費,請問A最少需要多少錢使得轉賬後B收到100元。 輸入輸出格式 輸入格式: 第一行輸入兩個正整數n,m,分別表
P1576 最小花費
錯誤: 第31行 maxd 型別為double,賦成int! 解法: 把消耗轉化為剩餘 , 運用最短路演算法dijstra來找一遍最長路 #include<iostream> #i
[luogu]P1576最小花費-最短路裸題
題目背景 題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額里扣除百分之幾的手續費,請問A最少需要多少錢使得轉賬後B收到100元。 輸入輸出格式 輸入格式: 第一行輸入兩個正整數n,m,分別表
7-25 暢通工程之局部最小花費問題(35 分)
cnblogs rdquo text str open main ble 正整數 dash 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計數據,並提出“暢通工程”的目標:使整個地區任何兩個城鎮間都可以實現快速交通(但不一定有直接
PTA 7-1 暢通工程之局部最小花費問題(35 分)
不一定 統計表 ace pro pen max 數據 n) 間接 7-1 暢通工程之局部最小花費問題(35 分) 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計數據,並提出“暢通工程”的目標:使整個地區任何兩個城鎮間都可以實現快速交通(但不一定有直接的快
【例4-4】最小花費
{} small mem 相同 ring ont nbsp 給定 fin 【例4-4】最小花費 鏈接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1344時間限制: 1000 ms 內存限制: 65536
AOJ-2249-Road Construction-dijkstra-最小花費
tps ack .net esp vector max ret post space Road Construction 題意:在一個無向圖中,每條邊上有建設的花費和路徑的長度,要求求得,在保持每個點到1號點最小距離不變的情況下,求最小的總花費; 思路:用dijkstra
POJ 3280 Cheapest Palindrome(區間DP求改成回文串的最小花費)
tor color eps span algorithm har pac 操作 tac 題目鏈接:http://poj.org/problem?id=3280 題目大意:給你一個字符串,你可以刪除或者增加任意字符,對應有相應的花費,讓你通過這些操作使得字符串變為回文串,求
POJ 3171 區間最小花費覆蓋 (DP+線段樹
cat scanf ron have -- sin 排列 resp lin Cleaning Shifts Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4245 Accepted:
使用最小花費爬樓梯dp
陣列的每個索引做為一個階梯,第 i個階梯對應著一個非負數的體力花費值 cost[i](索引從0開始)。 每當你爬上一個階梯你都要花費對應的體力花費值,然後你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在開始時,你可以選擇從索引為 0 或 1 的元素作為初始階梯。
leetcode 746. 使用最小花費爬樓梯(python)
陣列的每個索引做為一個階梯,第 i個階梯對應著一個非負數的體力花費值 cost[i](索引從0開始)。 每當你爬上一個階梯你都要花費對應的體力花費值,然後你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在開始時,你可以選擇從索引為 0 或 1
Leetcode746.Min Cost Climbing Stairs使用最小花費爬樓梯
陣列的每個索引做為一個階梯,第 i個階梯對應著一個非負數的體力花費值 cost[i](索引從0開始)。 每當你爬上一個階梯你都要花費對應的體力花費值,然後你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在開始時,你可以選擇從索引為 0 或
[LeetCode]746. 使用最小花費爬樓梯(Min Cost Climbing Stairs)
一、題目: LeetCode地址 陣列的每個索引做為一個階梯,第 i個階梯對應著一個非負數的體力花費值 cost[i](索引從0開始)。 每當你爬上一個階梯你都要花費對應的體力花費值,然後你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在
資料結構——暢通工程之區域性最小花費問題
7-1 暢通工程之區域性最小花費問題 (35 分) 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出“暢通工程”的目標:使整個地區任何兩個城鎮間都可以實現快速交通(但不一定有直接的快速道路相連,只要互相間接通過快速路可達即可)。現得到城鎮道路統計表
PTA 暢通工程之區域性最小花費問題 (35 分)
某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出“暢通工程”的目標:使整個地區任何兩個城鎮間都可以實現快速交通(但不一定有直接的快速道路相連,只要互相間接通過快速路可達即可)。現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修
AOJ2249 最短路+最小花費(雙權值)
擴展 最小 col 滿足 fill 最短 題解 return queue 寫題解之前先罵一下這道題 xxx給數據範圍點數<1e4,邊數<2e4,結果我開2e4和3e4都RE,然後找問題一個多小時,最後我開了1e5和2e5,題面太能唬人了吧!?真是sb題面 ---
28.動態規劃-使用最小花費爬樓梯-Leetcode 746(python)
題目描述 陣列的每個索引做為一個階梯,第 i個階梯對應著一個非負數的體力花費值 cost[i](索引從0開始)。 每當你爬上一個階梯你都要花費對應的體力花費值,然後你可以選擇繼續爬一個階梯或者爬兩個階梯。 您需要找到達到樓層頂部的最低花費。在開始時,你可以選