摘要: 跟杭电的奇怪的楼梯非常想。代码如下:#include <cstdio>#include <queue>using namespace std;struct Node{ int x, t;}e[100005], pos;int N, K, front, tail, hash[100005];void getnewpos(int x, int a[]){ a[0] = x - 1; a[1] = x + 1; a[2] = x << 1; }int bfs(){ memset(hash, 0, sizeof (hash)); hash[N] = 1; ... 阅读全文
posted @ 2012-07-13 16:11 沐阳 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 就是将普通的二维推广到三维,方向变成了六个。代码如下:#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;int L, N, M, sx, sy, sz; struct Node{ int x, y, z, t; }e[100005], pos;int front, tail, dir[6][3] ={ 0, 1, 0, 0, -1, 0, 1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, -1}; // 六个方向,三个坐标 cha... 阅读全文
posted @ 2012-07-13 15:56 沐阳 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 非常简单的一道搜索题,用状态压缩加DP写了一上午,写道后面越来越感觉这题状态压缩没有什么优势,每一行都与前面的行的排列有关系,因此不能够记忆化,没算完一次要把状态清空,可惜到最后还是错了。干脆直接暴力搜索。就这样过了。代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;int N, K, hash_x[10], hash_y[10], ans;char G[10][10];void dfs(int x, 阅读全文
posted @ 2012-07-13 15:30 沐阳 阅读(255) 评论(0) 推荐(0) 编辑