上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 题意:求连通分量的个数分析:直接用dfs,每次返回一次,sum++;View Code #include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn = 110;char str[maxn][maxn];int xx,yy;int n,m;int sum;int dir[8][2]={{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}};void dfs(int si,int sj){ str[ 阅读全文
posted @ 2013-03-27 21:48 南下的小程序员 阅读(242) 评论(0) 推荐(0)
摘要: //题意:求从@出发的连续的'.'的个数。分析:直接用dfs。感悟:我很水啊,这题敲了半天。加油啊,亲。View Code #include<cstdio>#include<cstring>#include<iostream>using namespace std;#define maxn 110int n,m;char str[maxn][maxn];int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int sum;void dfs(int s,int e){ for(int i=0;i<4;i++) 阅读全文
posted @ 2013-03-27 21:11 南下的小程序员 阅读(278) 评论(0) 推荐(0)
摘要: //题意:一只小狗要从起点S到终点D且恰好在第t秒到达,问是否可能。分析:这题关键是剪枝。剪枝技巧来自http://blog.csdn.net/zxy_snow/article/details/6177892DFS。之前一直TLE了,死活不会优化 = =。。就搜了下。那个用距离判断的我也加了,还是TLE了 = =。。学到个这个,这一句很神奇。。。if( d % 2 != (Time-t) % 2 )return ;刚才自己手动模拟了下,理解了。d是当前点与目标点的坐标差。Time-t即从当前点到达目标点需要走多少步。这两个值的奇偶性是一致的。如果中间没有墙,那么两者应该是d + x == Ti 阅读全文
posted @ 2013-03-27 17:08 南下的小程序员 阅读(187) 评论(0) 推荐(0)
摘要: 题意:来自神姐http://blog.csdn.net/lyy289065406/article/details/6645991在一个y行 x列的迷宫中,有可行走的通路空格’ ‘,不可行走的墙’#’,还有两种英文字母A和S,现在从S出发,要求用最短的路径L连接所有字母,输出这条路径L的总长度。一格的长度为1,而且移动的方法只有上、下、左、右,所以在无任何墙的情况下(但“墙#”是必须考虑的,这里只是为了说明)任意两个字母之间的距离就是直接把 横坐标之差 加上 纵坐标之差注意的是,可行的路为 字母 和 空格 不可行的路为 # 和 矩阵范围之外根据题意的“分离”规则,重复走过的路不再计算因此当使用p 阅读全文
posted @ 2013-03-26 20:41 南下的小程序员 阅读(154) 评论(0) 推荐(0)
摘要: 题意:求连接所有村庄的最短路径。就是求最小生成树。分析:直接套用prim模版。 POJ 2421在这题上又该进了点。http://www.cnblogs.com/lanjiangzhou/archive/2013/03/25/2981491.html。其实都一样。View Code // I'm the Topcoder //C #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <math.h> #inc 阅读全文
posted @ 2013-03-26 13:22 南下的小程序员 阅读(197) 评论(0) 推荐(0)
摘要: 以前写的报告,可以参考下http://blog.sina.com.cn/s/blog_99ca2df501019bkd.htmlView Code 1 // I'm the Topcoder 2 //C 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <string.h> 6 #include <ctype.h> 7 #include <math.h> 8 #include <time.h> 9 //C++ 10 #include <iostream 阅读全文
posted @ 2013-03-25 23:40 南下的小程序员 阅读(140) 评论(0) 推荐(0)
摘要: 题意:建立QS网络的最小费用。分析:运用prim算法求解最小生成树关键:本题关键是建图。在构造有向网时,每条边的权值为两个QS的适配器的加个加上两个QS之间网线的加个。这样就可以解决问题了。简化:本题只需最小生成树的权值,不需要记录构造最小生成树时选择的边,因此可以将lowcost数组和nearvex数组合二为一。自己做法还是一起解决吧,省得记那么多。呵呵View Code 1 // I'm the Topcoder 2 //C 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <string.h& 阅读全文
posted @ 2013-03-25 21:35 南下的小程序员 阅读(221) 评论(0) 推荐(0)
摘要: 题意:邻接村子里面所有的村庄,使得道路的总长度最小。分析:由于题意说会有已经通好道路的村庄。我们任然可以利用prim求解最小生成树,只要把已经通好道路的权值置为0,就行了。View Code 1 // I'm the Topcoder 2 //C 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <string.h> 6 #include <ctype.h> 7 #include <math.h> 8 #include <time.h> 9 //C++ 10 阅读全文
posted @ 2013-03-25 21:18 南下的小程序员 阅读(382) 评论(0) 推荐(0)
摘要: 题意:求连接所有地点是网线长度最短分析:kruskal。一开始数组开小了 导致re了几次,然后开大后有wa 了几次,郁闷的去取了快递,吃了饭。回来在检查发现parent[]这边又出问题 了。应该是for(int i=1;i<=n;i++){ path[i]=-1;}而不是下标从0 到n-1.嗨。。。View Code 1 // I'm the Topcoder 2 //C 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <string.h> 6 #include <ctype.h 阅读全文
posted @ 2013-03-25 17:50 南下的小程序员 阅读(162) 评论(0) 推荐(0)
摘要: 题意:求连接所有村庄道路的最小费用。分析:kruskal算法,直接求最小生成树。注意:这题输入的时候是字母,所以要注意了。POJ如果用getchar()的话会wa。坑爹啊。还好我后来在ZOJ 上提交过了,在POJ discuss里发现说tle||re的注意了要用数组输入字母(呵呵,我的是WA),以后碰到这种还是直接用数组,省那么点空间干嘛。还有这题关键是建图,具体细则参看代码。这次代码有点乱。呵呵。见谅。View Code 1 // I'm the Topcoder 2 //C 3 #include <stdio.h> 4 #include <stdlib.h> 阅读全文
posted @ 2013-03-25 16:22 南下的小程序员 阅读(206) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 下一页