摘要:
http://poj.org/problem?id=2240题意 : 好吧,又是一个换钱的题:套利是利用货币汇率的差异进行的货币转换,例如用1美元购买0.5英镑,1英镑可以购买10法郎,一法郎可以购买0.21美元,所以0.5*10*0.21 = 1.05,从中获利百分之五,所以需要编写一个程序,在进行完转换之后能不能获利,如果能就输出Yes,反之No;样例解释 :3USDollarBritishPoundFrenchFranc6USDollar 0.5 BritishPoundUSDollar 4.9 FrenchFrancBritishPound 10.0 FrenchFrancBritis 阅读全文
摘要:
http://poj.org/problem?id=2485题意 : 这道题和1258很像,但是这道题求的是最小生成树中最大的那条边,所以在函数里处理一下就行了。思路 : 赤裸裸的最小生成树啊,但是这道题一定要注意,因为底下有提醒,一定要用scanf输入,结果我就很悲剧的没看到啊,然后一直改一直改,到最后又去看了一遍题才发现要用scanf啊,╮(╯▽╰)╭ 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int ans,dis[5005][5005]; 7 const int INF = 1 low[j] 阅读全文
摘要:
题意 : 说实话,题意我没看懂,后来让人给我讲的样例。。。。。 4aaaaaaabaaaaaaabaaaaaaabaaaa0这个样例的话,就是输入n下面n行,每行7个字母,让你依次选两行进行比较,不同的有多少个,所以题目中给的样例,1,2行一个不同的,1,3行一个不同的,1,4行一个不同的,所以距离是3,2,3行两个不同的,2,1行一个不同的,2,4行两个不同的,距离是4,这样找下去,可以构成一个无向图,找最小生成树。解题思路 : 其实就是一个转化问题,将给的字符串转化成距离的二维数组再找最小生成树即可 1 #include 2 #include 3 #include 4 #include 5 阅读全文
摘要:
最小生成树的算法有两种,一种是prim,另一种是kruskal。prim模板: 1 int prim() 2 { 3 //low数组用来保存非生成树中各顶点与生成树中顶点最短边的权值;dis数组则是你输入的数组矩阵 4 int ans = 0, i, j, flag, min; 5 ... 阅读全文
摘要:
http://poj.org/problem?id=1258题意 : john当上了镇长,打算给每个农场都连接网络,需要用最小的成本连接其他所有农场,所以要找最少的纤维连在一起,任何两个农场之间的距离不超过十万。输入n,下面有n行n列,代表着每两个农场的距离,对角线为0,因为自己到自己是为0;解题思路 : 这个题要包含所有的农场,赤果果的最小生成树,这个题的话,注意是多组输入还有数组不要开得太小,算法的话prim和kruskal都可以,我用的是prim。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 i 阅读全文