2013年4月1日

Silver Cow Party POJ 3268 SPFA

摘要: 这个题我是这么做的,本来想用Floyd写,但是看到n 2 #include 3 #include 4 #define MAXN 1005 5 #define INF 1000000 6 using namespace std; 7 int n; 8 int num[2][MAXN]; 9 int time[2][MAXN];10 bool s[MAXN];11 struct ArcNode12 {13 int v,w;14 } edge[2][MAXN][MAXN];15 void SPFA(int vo,int ser)16 {17 int i,j;18 queu... 阅读全文

posted @ 2013-04-01 20:58 allh123 阅读(116) 评论(0) 推荐(0) 编辑

ZOJ 1092 POJ 2240 Arbitrage Floyd

摘要: 裸的Floyd做,感觉Floyd复杂度还挺高的,有O(n^3),适合顶点少的情形。这里先是求任意两种钱的汇率的最大值,就是一单位这种钱能换多少单位那种钱的最大的换法。在算路径时用乘法不用加法,对角线上的元素为1,自己换自己当然是1,不能换的取值为0,最后对角线上的值大于1了输出yes,否则输出no.贴代码:View Code 1 #include <cstdio> 2 #include <cstring> 3 #define INF 1000000 4 #define MAXN 32 5 double A[MAXN][MAXN]; 6 int n; 7 void Flo 阅读全文

posted @ 2013-04-01 20:46 allh123 阅读(163) 评论(0) 推荐(0) 编辑

ZOJ 3693 Happy Great BG

摘要: 这个题的关键是看清楚题意,我就没看懂题再瞎写,直接n= n+2,n = n-n/k, 这些人是要付钱的,然后,重点来了,在结果上加10^-10才能A,不然就是WA,不明白为什么,求高手解释计算机如何处理浮点数!追加的:这题貌似不是什么浮点数怪,也许只是不要四舍五入,而是直接进1,比如,2.341,就要付2.35元,所以在算得的结果后加一个0.009就能过,但是rounded不是四舍五入吗?????应该是这题出的不太正常贴代码:View Code 1 #include <cstdio> 2 int main() 3 { 4 int n,k; 5 double w; 6 ... 阅读全文

posted @ 2013-04-01 20:38 allh123 阅读(194) 评论(0) 推荐(0) 编辑

Idiomatic Phrases Game zoj 2750 Dijkstra

摘要: 典型的Dijkstra,按题目要求构造出对应的图,找从第一个成语到最后一个成语的最短路,在中间找第一个成语到其他成语的最小用时时没有找到,所有未选中的成语的用时都是INF,那么就输出-1,如果找出的是最后一个成语了,就berak,输出min值。在读用时和成语字符串时,我写了个scanf("%d %s",&num[i],a[i]); 其中char a[MAXN][50],然后WA了,我就改成了 char a[MAXN][100],scanf("%d",&num[i]);scanf("%s",a[i]);然后及AC了。贴代 阅读全文

posted @ 2013-04-01 10:50 allh123 阅读(156) 评论(0) 推荐(0) 编辑

导航