摘要: Arbitrage大意:给你m种货币,给你m种货币兑换规则,问通过这些规则最后能不能盈利。eg:1美元换0.5英镑,1英镑换10法郎,1法郎换0.21美元,这样1美元能换0.5*10*0.21=1.05美元,净赚0.05美元。思路:用Floyd找出每两种钱之间的最大兑换关系,遍历一遍,看有没有那种钱币最后能盈利,有就输出Yes,没有就是No。在处理钱币名称与编号之间的关系时,可以用map存(比较好用),当然也可以用字符串比较。 1 #include 2 #include 3 #include 4 #define INF 0x3f3f3f3f 5 using namespace std; ... 阅读全文
posted @ 2014-01-19 15:49 GLSilence 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: Stockbroker Grapevine大意:有N个股票经济人可以互相传递消息,他们之间存在一些单向的通信路径。现在有一个消息要由某个人开始传递给其他所有人,问应该由哪一个人来传递,才能在最短时间内让所有人都接收到消息。若不存在这样一个人,则输出disjoint。思路:有向图(互相之间可能不等)中各顶点之间的最短路径问题。一个人收到消息后便开始向所有他能发送的人(因人以固定的不等时间(长度1~10))发送消息,当所有人都收到消息后的时间长短为评价标准。 1 #include 2 #define INF 0x3f3f3f3f 3 4 int n; 5 int Map[110][110]; .. 阅读全文
posted @ 2014-01-19 10:52 GLSilence 阅读(183) 评论(0) 推荐(0) 编辑