摘要:
这一题是比较麻烦的深搜加广搜的题,考察范围较广,题目大意是从起点出发分别找出左贴墙走、右贴墙与正常走到终点的最短路程。很自然联想到用广搜解决正常走的最短路径,用深搜解决另两种最短路程。难点是如何解决深搜时的方向问题,由于不会用C++提供的STL中德队列类,所以就自己写的,比较麻烦,不过思路应该还算清晰吧。AC代码如下:#include <iostream>#define MAX 100#define MAXN 10000using namespace std;char map[MAX][MAX];int vis[MAX][MAX];int dir1[4][2]={{0,-1},{1 阅读全文
posted @ 2012-02-24 10:01
背着超人飞
阅读(211)
评论(0)
推荐(0)
摘要:
这一题算是典型的BFS的题,题目大意是要找到一个正整数n的整数倍的数,使它只由0或1组成,找到任意一个即可输出。如果从n开始按倍数枚举再找出有0或1组成的肯定超时,而且程序实现也比较麻烦,于是考虑广搜一下由0或1组成的数,再判断它是否能被n整除。AC代码如下:#include <iostream>using namespace std;__int64 a[2000000];//由于数可能比较大,所以用64位比较保险int main(){ int n; int k = 0; a[0] = 1; while (cin >> n) { if (n == 0) break; i 阅读全文
posted @ 2012-02-24 09:23
背着超人飞
阅读(135)
评论(0)
推荐(0)