這道提很多人說是最短路徑問題,可是我認為,用最短路的演算法不穩定,及時間複雜度不缺定。
題意是關於換錢的問題,多種貨幣,換來換去,最後還是那種錢,但是錢卻多了。
換錢法則是:自己的錢 減去 稅費後的錢乘以匯率。
我用的是搜尋方法。
**中慢慢解釋。
123 #include
45 #include
67 #include89
using
namespace std;
1011
const
int n=105;
1213
int n,m,s,p1,p2;
1415
double sum,r[n][n],c[n][n];
1617
1819
//若可以賺錢,那麼從某一起點起存在一條迴路,轉一圈回到起點時錢增多了,而且從初始位置到那個起點的過程中錢不為負。
2021
//對於不賺錢的,就需要設定乙個開關來控制出口,及下面的v陣列。首先每個定點初始值為0,從而保證每個定點可以至少訪問一次。
2223
//如果不賺錢時,將不能在訪問其他定點,迴圈也就結束。
2425
bool ok()
2627
8283 }
8485 }
8687 }
8889
return d[s]>sum;
9091 }
9293
9495
int main()
9697
122123 printf("
%s\n
",ok()?"
yes":"
no"); //
ok()函式來判斷是否可以賺錢
124125
return
0;126
127 }
九度1086解題報告
典型的動態規劃題,當然也可以用圖的最短路徑方法,但是對我來時dp實現起來容易一些。在這道題中,有兩點值得注意,一是兩站之間的距離和票價都可以達到10 9,故計算過程中可能出現比int範圍大的數,因此需要用long long型別來儲存資料 二是我自己思維不周密,只考慮到了起點站比終點站編號小這種情況,...
PKU 1065,1548,3636解題報告
這幾題的思想和方法都是一樣的,破一題可破三題,首先1065,題意說有很多stick,每個stick都有長度l和重量w,一台機器需要處理這些stick,首先第一條被處理的機器就需要一次setup time,接下來下根木棍的長度l和w都大於等於前面的木棍的話,那麼就不需要增加setup time,否者需...
pku 2159 解題報告
很難看懂的題,單純地以它的sample去寫就是完全看錯題目了 查詢了網上的解題報告,發現跟密碼學有關,acm需要的知識果然是百科的 關鍵在於用這種加密方法加密後,密文和原文長度相同,字母出現的種類數量相同,每種字母出現的概率 次數 相同。code include iostream include s...