A 清理垃圾
总时间限制:1000ms 内存限制:128 MB
问题描述
跳蚤国垃圾成山辣!
最近由于没人收拾垃圾,垃圾堆积成山导致跳蚤们已经无处可跳了!
现在已知跳蚤国是一个二维的平面,有一只跳蚤清洁员 qqqopop 在原点(0,0) 处,
将要走到 (n,m) 点去,由于一些奇怪的原因,每次他都只能向右跳一格或者向上跳一格,
假设他所在的位置有一个垃圾,那他就可以拿走这个垃圾并为国家贡献一个愉悦值,
不同垃圾带给国家的愉悦值是不同的。
问题来了,
跳蚤清洁员到能为国家贡献多少愉悦值呢?
跳蚤国王当然是会的,但是他要考考你……
输入格式
第一行三个数 n,m,k,
表示清洁员要走到 (n,m) 处,
整张地图上一共有 k 个位置有垃圾,
接下来 k 行,每行三个数字 x,y,val,
表示该垃圾在 (x,y) 处,能为国家贡献 val 的愉悦值
输出格式
一行一个数位最多的愉悦值
样例输入
8 7 11
4 3 4
6 2 4
2 3 2
5 6 1
2 5 2
1 5 5
2 1 1
3 1 1
7 7 1
7 4 2
8 6 2
样例输出
11
提示
数据规模与约定:
对于 30% 的数据,有 0 < n,m ≤ 1000.
对于 100% 的数据,有 0< n,m ≤ 10 5 ,保证一个地方不会有多个垃
圾,每个垃圾都在 (0,0) 到 (n,m) 的矩形范围内,保证答案在 int 范围内
实现代码[部分分数]
……
题解
DFS搜索即可,不过不能存数组,存数组时间上和空间上都要挂,用结构体存垃圾的信息就好了。