Tyvj 1004

问题描述: 输入一个 r*c 的矩阵,并且矩阵中的每个元素都是
    正整数,从其中某个大的元素出发,向4个方向(上下左右)
    递归,直到划出一条能够通过较多数字的线,并且满足数字
    从大到小。

解决方案: 其实,我们可以人为的把我们输入的每一个元素所对应
    的数值当做是一座座的山峰,正如题目要求的那样,滑雪
    然后尽可能从高处的山峰往低处的山峰滑行,第一次做的
    时候,没看懂样例,琢磨了一段时间后,突然明白了,题目
    的含义,实际上就是按照一定的路线,从最大的元素向最小的
    元素走,然后记录所走的步数即可,样例很特殊,25步走出来
    后,刚好构成了蛇形阵。

第一步,一一枚举每个点,看他是不是能作为我们开始滑行
    的起点。
    第二步,找到这个点后,向4个方向DFS,即可。
    第三步,找到的那个最大的起点,就是我们的最大路线

代码:  (1)在代码中,学会了一种解决搜索问题的常用方法,那就是设置
    一个dis [][],数组,当我们向4个方向,也就是通常所说的
    上下左右进行搜索时,我们就定义这样一个数组:
    dis[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};
    其实很简单,,大家脑补下就行。。。。

如果所涉及的问题稍微有些复杂的话,向8个方向进行搜索
    那么我们定义这样一个数组:
    dis[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1}
            ,{1,-1},{1,0},{1,1}};
    思路和方法类似,就是又多了4个对角线上的方向而已~

(2)并且在搜索问题中,我们还要设置一个vis[][]数组,这个
    数组的大小和处理问题时所开的数组一定是等大的。
    并且一开始用memset对vis数组进行初始化,可以初始化为
    0或者-1,,其他的数值都不行的。

贴上模板~~

 int nx, ny;for ( int i = 0;i < 4;i++ ){nx = x + dis[i][0];ny = y + dis[i][1];if ( 0 <= nx&&nx < r&&0 <= ny&&ny < c&&a[x][y] > a[nx][ny] ){t = max( search( nx, ny ),t );}}

当做模板记住它~

其实在很多情况下,如果实在看不出那些大牛们的代码。
    可以手模下,,虽然浪费时间,但是很容易就能理解了,
    我就是这么手模过来的~~~

Tyvj 1004 滑雪~相关推荐

  1. tyvj p1004 滑雪

    描述 trs喜欢滑雪.他来到了一个滑雪场,这个滑雪场是一个矩形,为了简便,我们用r行c列的矩阵来表示每块地形.为了得到更快的速度,滑行的路线必须向下倾斜.     例如样例中的那个矩形,可以从某个点滑 ...

  2. |Tyvj|动态规划|P1004 滑雪

    http://tyvj.cn/p/1004 由于考虑高度问题,确保每个值都算出来,这里用的是记忆化搜索. #include<cstdio> #include<cstring> ...

  3. 2022-2028年中国滑雪产业投资分析及前景预测报告(全卷)

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了滑雪行业相关概述.中国滑雪行业运行环境.分析了中国滑雪行业的现状.中 ...

  4. COJN 0575 800601滑雪

    800601滑雪 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是 ...

  5. 【ACM】杭电OJ 1004

     题目链接:杭电OJ 1004 运行环境:Dev-C++ 5.11 思路: 先把先把num数组全部赋值为1:第一个颜色单独输入,从第二个开始,需要与前面的进行比较,如果前面有相同的颜色,则在目前的nu ...

  6. 基于PyGame的乒乓球和滑雪小游戏

    基于PyGame的乒乓球和滑雪游戏 昝道广 概述 前言 乒乓球游戏规则 乒乓球游戏图形界面 乒乓球游戏部分代码 滑雪小游戏图形界面 滑雪小游戏规则 滑雪小游戏部分代码 技术分析 后记 前言 首先阿广确 ...

  7. [P1434 [SHOI2002]滑雪](DFS,记忆化搜索)

    P1434 [SHOI2002]滑雪 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你 ...

  8. sicily 1004 I Conduit!

    2019独角兽企业重金招聘Python工程师标准>>> Description Irv Kenneth Diggit works for a company that excavat ...

  9. 洛谷 P2573 [SCOI2012]滑雪

    题目描述 a180285非常喜欢滑雪.他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1<=i<=N)和一高度Hi.a180285 ...

最新文章

  1. 包打包和解析过程 unity_解决Unity2018打包,提示 SDK Tools version 0.0.0 < 26.1.1
  2. 获得虚拟服务器相对路径,在web应用中获取相对路径和绝对路径
  3. 学校SOLARIS ORACLE很好的电子教材
  4. 编写实现atoi函数
  5. 一般性网络错误 请检查网络文档_如何编写好的软件设计文档
  6. ITK:从Seed开始迭代图像
  7. 为了不再颓废,不再堕落......转操作系统为ubuntu,转语言环境为java...
  8. 一个即将写入MySQL源码的官方bug解决之路
  9. layui修改table中的按钮_layui数据表格中如何设置按钮切换(是否置顶)与分页居中...
  10. python爬虫天气实例scrapy_2017.08.04 Python网络爬虫之Scrapy爬虫实战二 天气预报...
  11. 【VS开发】文件夹和文件选择EditBrowe控件使用
  12. 亚马逊创始人下月将乘自家火箭进入太空 亲弟弟同行
  13. Python爬取小说网站下载小说
  14. 依赖类型语言Idris发布1.0版本
  15. 如何采用类比法和类推法估算软件项目工作量
  16. VC++从入门到精通视频教程
  17. 超详细分解c 语言——实现扫雷游戏(详解)
  18. 12.0_[Java 多态]-多态/子类父类互转/基本引用类型互转/ instanceof 运算符
  19. CGAL 三维三角剖分
  20. 随心所欲----食堂点餐系统设计

热门文章

  1. 电路中 电容的作用【大全】!
  2. 同步传输与异步传输的区别
  3. iOS黑客Luca Todesco演示iOS 10 beta 8越狱
  4. python中beautifulsoup是什么,Python Beautiful Soup简介
  5. 写个续集,填坑来了!关于“Thread.sleep(0)这一行‘看似无用’的代码”里面留下的坑。
  6. IPAPatch: 免越狱调试、修改第三方App
  7. Anaconda3 jupyter 警告:FutureWarning: reshape is deprecated and will raise in a subsequent release.
  8. C语言面试题大汇总之华为面试题 Eddy整理
  9. 淘宝API系列(数据结构对象)
  10. Linux Vm虚拟机配置环境错误 在登录界面循环往复,登录不进去问题