摘要: 题意:一只狗(柴犬,看到一块骨头,迷失在了maze里,S是起点,D是终点,问你能不能在时间T时从起点到达终点. 这题有个小trick: 奇偶剪枝+普通剪枝 解释一下: 普通剪枝:从S到D要走的步数是k=abs(x1-x2)+abs(y1-y2);那么如果k>=T,永远不可能到达; 奇偶剪枝: 首先, 阅读全文
posted @ 2015-10-23 20:24 萌萌哒哒哒 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一些木棒,问这些木棒首尾相连能不能连成一个正方形。dfs+剪枝(卧槽一说剪枝瞬间高大上了思路:首先看一看能不能被4整除,不能的话当然是NO;如果能的话,从头进行递归;递归过程中,如果能够连成一条边,则继续往下递归,如果不能的话,立刻停止递归,消除标记。AC代码:#include #incl... 阅读全文
posted @ 2015-10-23 17:20 萌萌哒哒哒 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题意:数羊,规则是一只羊上下左右的羊都算是同一只羊,"#"是羊,"."是草,深搜咯~AC代码:#include #include #include const int dx[4]= {1,0,-1,0};const int dy[4]= {0,1,0,-1};char s[105][105];int... 阅读全文
posted @ 2015-10-23 17:08 萌萌哒哒哒 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题意:一个man站在@上,只能走上下左右四个方向,且不能踩到"#",问最多能猜到多少个".";简单dfs,既然只能走上下左右,那就把所有的方向全部遍历一遍;AC代码:#include #include #include const int dx[4]={1,0,-1,0};const int dy[... 阅读全文
posted @ 2015-10-23 17:01 萌萌哒哒哒 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 中文题。思路:用for循环往每一行里放皇后,x[]存的数是列数,要判断是否在同一斜线上,条件是abs(列数相减)==abs(行数相减):解释一下,如果两个点左低右高的话,那么他们的行列数之和相等;如果两个点左高右低的话,那么他们行数之差和列数之差相同;两个条件合并起来就是上面那个,当然也可以不作改动... 阅读全文
posted @ 2015-10-23 16:50 萌萌哒哒哒 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题意:中文题,就是爽!AC代码:#include #include #include #include #define INF 0x3f3f3f3fusing namespace std;char s[500];char s1[4000][400];int dis[4000],k1,f;void d... 阅读全文
posted @ 2015-10-23 00:43 萌萌哒哒哒 阅读(199) 评论(0) 推荐(0) 编辑