Kuangbin专题
Myriad_Dreamin
这个作者很懒,什么都没留下…
展开
-
Kuangbin专题 简单搜索 - B - Dungeon Master
一开始没有用队列的,后来参考其他人的题解用队列又写了一遍,原来的版本就没有保存了…#include <cstdio> #include <queue> #include <algorithm> using namespace std; char map[35][35][35]; int wayz[10]={1,-1,0,0,0,0},lev,wayy[10]={0,0,0,0,1,-1},row,w原创 2018-01-04 18:22:58 · 250 阅读 · 0 评论 -
Kuangbin专题 - 简单搜索 -C - Catch That Cow
这是第一个AC版本,思路是逐层标记,这样就能保证步法是单调枚举下去的。需要注意的是,如果之前已经走过了,就相当于“串回去”了,这种枝需要剪掉,否则bfs是无穷无尽的。#include <cstdio> #include <queue> #define ck(_a,_x); if(!sgn[_x]&&_x>0&&_x<=100000){_a.push(_x);sgn[_x]=true;} using原创 2018-01-04 18:28:15 · 205 阅读 · 0 评论 -
Kuangbin专题 - 简单搜索 - D - Fliptile
关灯问题需要注意的一点是:单调不能完成的任务是一定不能完成的,没有反复开关灯的操作…单调向下枚举… 这里我观察到了(i-1,j)点为1时是必须开一次灯的。 枚举第一行是否开灯即可(因为没有作为是否参考的第零行)。 很巧妙的是,这样参考下来,检查最后一行是否all0,如果不是,这样的开灯方式就一定不能完成操作。#include <cstdio> #include <cstring> int ma原创 2018-01-04 18:35:45 · 285 阅读 · 0 评论 -
Kuangbin专题 - 简单搜索 - A - 棋盘问题
一开始有点不会写这种dfs,后来到网上搜了一下,学会了sign标记。#include <cstdio> #include <cstring> char map[10][10];bool sign[10];int total; void dfs(int step,int n,int k){ if(k==0){ total++; return ; }原创 2018-01-04 18:20:15 · 314 阅读 · 0 评论