搜集糖果(candy)
【题目描述】
在一片N*M的四连通(一个点与它上方、下方、左方、右方这四个点连通)田野中,散布着很多很多的糖果。Ryz现在要以(x,y)为起点去搜集糖果。Ryz搜集当前点的糖果并走到下一格需要一个单位时间。由于田野中还有许多其它的喜欢吃糖果的小动物,所以每过一个单位时间,所有格子上的糖果都会减少一半。Ryz不喜欢做徒劳的工作,所有同一个格子不能走两遍。如果当前点周围所有连通的格子都已经被走过了,那么这次搜集就结束了。现在请你帮助他收集尽量多的糖果,输出你的移动序列,用”U”代表向上,”D”代表向下,”R”代表向右,”L”代表向左。
【输入格式】
第一行两个正整数N,M,x,y,表示地图大小和初始位置。
接下来的N行M列描述了每个格子的初始糖果s[i][j]。
【输出格式】
一行若干个字符,表示你的移动序列。
【输入样例1】
2 2 1 1
1 16
8 4
【输出样例1】
RDL
【输入样例2】
3 3 1 1
6 9 4
7 1 3
8 2 5
【输出样例2】
RRDDLLUR
【数据范围与约定】
对于100%的数据,n<=100,m<=100,0<=s[i][j]<=100000
对于100%的数据,s[i][j]互不相等。
下表列出了各个数据点n,m的范围。
数据编号 | n,m | 数据编号 | n,m |
1 | <=5 | 6 | <=60 |
2 | <=5 | 7 | <=60 |
3 | <=20 | 8 | <=80 |
4 | <=20 | 9 | <=80 |
5 | <=40 | 10 | <=100 |
题解:这是一道很玄学的搜索题,主要思想就是:我们先向前走N步(N要适当,大了会超时,小了会WA),然后选择最优的一条路走,直至走完。能否AC各凭天运吧。
Code: