0%

题面

有宽度不超过 100 的正方形迷宫如下所示,“K”代表开始孙悟空所处的位置,T代表唐僧所处的位置, .代表空地 #代表墙 S代表此处有一条蛇,数字 n 代表此处有钥匙且要是的种类编号是 1-9。孙悟空要去救唐僧,他只能朝上、下、左、由四个方向走,走到相邻的格子需要花1。#处不能走。走到S处则需要停留 1。走到放钥匙处,如果钥匙的种类编号为n,且孙悟空已经得到了编号为 1, 2, …, n-1 的钥匙,则它可以取走该钥匙,否则就只能过而不取。一共有 m 种钥匙 1-9,孙悟空走到唐僧处时,必须集齐 m 种钥匙才能救唐僧,否则只能过而不救。问孙悟空要救唐僧,最少要花多长时间。

阅读全文 »

题面

在一个 4 * 4 的棋盘上,每个格子都摆着一个棋子。棋子一面为黑,一面为白。有一种操作叫做“翻转”,对某一枚棋子做“翻转”操作,则会将该棋子及其上下左右的 4 枚棋子翻过来。给定初始的棋盘局面(有的棋子黑面朝上,有的棋子白面朝上),求最少需要多少次操作,能使得所有棋子都白面朝上或黑面朝上。

样例输入

1
2
3
4
bwwb
bbwb
bwwb
bwww

样例输出

1
4
阅读全文 »

题面

你身处一个 r*s 的迷宫中,当前位置用 S 表示,迷宫的出口用 E 表示。迷宫中有一些石头,用 # 表示,还有一些可以随意走动的区域,用 . 表示。初始时间为 0 时,你站在地图中标记为 S 的位置上。你每移动一步(向上、下、左、右方向移动)会花费一个单位时间。你必须一直保持移动,不能停留在原地不走。当前时间是 K 的倍数时,迷宫中的石头就会消失,此时你可以走到这些位置上。再其余的时间中,你不能走到石头所在的位置。求你从初始位置走到迷宫出口最少需要花费多少个单位时间。如果无法走到出口,则输出 Oop!。

阅读全文 »

题面

给出两个单词(开始单词和结束单词)以及一个词典。找出从开始单词转换到结束单词所需的最短转换序列。转换规则如下:每次只能改变一个字母;转换过程中出现的单词(除开始单词和结束单词外)必须存在于词典中。例如,开始单词为 hit,结束单词为 cog,词典为 hot, dog, dot, lot, log,那么一种可能的最短变换是 hit hot dot dog cog,所以返回的结果是序列的长度 5。注意:如果找不到这种变换,则输出 0;词典中所有单词的长度相同;所有的单词都由小写字母构成;开始单词和结束单词可以不在词典中。

阅读全文 »

有一个 3*3 的棋盘,其中有 1-9 共 9 个数字,0 表示空格,
其他的数字可以和 0 交换位置。求由初始状态到达目标状态

目标状态

1
2
3
1 2 3
4 5 6
7 8 0
阅读全文 »

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

思路 怎么搜dfs(已经复原几根木棍k,上一个木棍的下标last,当前复原木棒的进度s).

阅读全文 »

递归求全排列

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入样例

1
3

输出样例

1
2
3
4
5
6
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
阅读全文 »