摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1240开始没仔细看题,看懂了发现就是一个裸的bfs,注意坐标是三维的,然后每次可以扩展出6个方向。第一维代表在第几层。后两维代表行和列。 1 #include 2 #include 3 #include 4 ... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1728这两道题花了一下午的时候调试,因为以前做过类似的题,但是判断方向的方法是错的,一直没发现啊,真无语。每个状态除了坐标外还需要记录步数,和方向。还要注意输入格式。并且每一个点并不是走过了就不能在走,只要到达这个... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2216zjt和sara在同一个地图里,zjt要去寻找sara,zjt每移动一步sara就要往相反方向移动,如果他们相邻或者在同一个格子里就算相遇。输出最少步数。注意zjt每次必须要有能移动的点才移动,否则不能移动,... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1180注意点就是楼梯是在harry移动完之后才会改变方向,那么只要统计到达这个点时间奇偶性,就可以知道当前楼梯是水平的还是垂直的。并且我们需要知道当前到达楼梯这个点的方向,这样才知道下一个往哪个方向走,可以根据di... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2102题目还是不难,注意起点一定是(0,0,0),然后到达P点时间 2 #include 3 #include 4 #include 5 using namespace std; 6 char field[2... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1026求起点到终点的最少花费,输出路径的时候麻烦一点,借鉴了别人的思路,用dfs 递归打印出路径。用额外一个二维数组标记当前点的前驱,因为点是一个坐标,那么可以用 s=x*m+y 映射成一个点就可以了。这样知道这个... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1242感觉题目没有表述清楚,angel的朋友应该不一定只有一个,那么正解就是a去搜索r,再用普通的bfs就能过了。但是别人说要用优先队列来保证时间最优,我倒是没明白,步数最优跟时间最优不是等价的吗?就算士兵要花费额... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1010这题就是问能不能在t时刻走到门口,不能用bfs的原因大概是可能不一定是最短路路径吧。但是这题要过除了细心外,还需要强力的剪枝。奇偶性剪枝:参考http://www.cppblog.com/Geek/archi... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1258关键点就是一次递归里面一样的数字只能选一次。 1 #include 2 #include 3 4 int n,t; 5 int b[15],c[15]; 6 bool flag; 7 void dfs(... 阅读全文
摘要:
http://poj.org/problem?id=2386http://acm.hdu.edu.cn/showproblem.php?pid=1241求有多少个连通子图。复杂度都是O(n*m)。 1 #include 2 3 char filed[110][110]; 4 int n,m; 5... 阅读全文