import java.io.*;

import java.util.Arrays;

class Main {

static int N = 310;

//存储高度

static int r, c;

static int[][] h = new int[N][N];

//f存储某点开始下滑的最大长度

static int[][] f = new int[N][N];

//是否已确定最大长度

static boolean[][] flag = new boolean[N][N];

//最大长度

static int res;

static int[] mx = {-1,1,0,0};

static int[] my = {0,0,-1,1};

static boolean check(int x, int y) {

return x < r && y < c && x >= 0 && y >= 0;

}

static void dfs(int x, int y) {

int height = h[x][y];

f[x][y] = 1;

flag[x][y] = true;

for (int i = 0; i < 4; i++) {

int nx = x + mx[i];

int ny = y + my[i];

if (check(nx, ny) && h[x][y] > h[nx][ny]) {

//如果未确定最长滑行距离,进入搜索

if (!flag[nx][ny]) dfs(nx, ny);

f[x][y] = Math.max(f[x][y], f[nx][ny] + 1);

}

}

res = Math.max(res, f[x][y]);

}

public static void main(String[] args) throws IOException {

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader in = new BufferedReader(isr);

String[] strs = in.readLine().split(" ");

r = Integer.parseInt(strs[0]);

c = Integer.parseInt(strs[1]);

//r行c列

for (int i = 0; i < r; i++) {

strs = in.readLine().split(" ");

for (int j = 0; j < c; j++) h[i][j] = Integer.parseInt(strs[j]);

}

for (int i = 0; i < r; i++)

for (int j = 0; j < c; j++) {

if (!flag[i][j]) {

dfs(i,j);

}

}

System.out.println(res);

}

}

java滑雪,AcWing 901. 滑雪-java相关推荐

  1. 滑雪 java_AcWing 901. 滑雪 Java

    题目描述 blablabla 样例 blablabla 算法1 记忆搜索 Java 代码 import java.util.*; import java.io.*; public class Main ...

  2. AcWing 901. 滑雪(记忆化搜索)

    题目链接 https://www.acwing.com/problem/content/903/ 思路 我们定义f[i][j]f[i][j]f[i][j]表示以(i,j)(i,j)(i,j)作为起点的 ...

  3. 【JAVA】acwing语法基础课刷题(138 / 138)完结

    目录 一.输入输出 1.低效率 - 输入输出 2.高效率 - 输入输出 1.输入规模较大时使用 2.输出规模较大时使用 二.判断语句和循环语句 !简单斐波那契 !试除法求约数 !试除法判断约数726. ...

  4. java 字符串包_包java字符串

    Java核心技术卷I基础知识3.6.3 不可变字符串 3.6.3 不可变字符串 String类没有提供用于修改字符串的方法.如果希望将greeting的内容修改为"Help!",不 ...

  5. 【Java 8 新特性】Java Clock 详解

    Java Clock 详解 systemDefaultZone millis instant offset system systemUTC tick tickMillis tickSeconds t ...

  6. 广东java工资一般多少_广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少...

    广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少 首页 > java > 广东java工资待遇 作者:镀金池   发布时间:2018-12-22 11:20 在 ...

  7. inside java security_Inside The JVM Part2: java如何实现安全性

    网络移动性和平台无关性略过...看看java如何实现安全性 Java通过提供一个"安全沙箱"来保证从网络或者其他不信任的地方下载并运行的程序不会破坏本地数据,为了确保沙箱是可靠的, ...

  8. java ee 6 sdk中文版,Java EE 6 SDK+Eclipse JEE+Android ADT-Fun言

    很多时候,为了生存,需要不断的了解,学习新东西,于是头脑塞满了便便- -|||- -----------------------.. 按照自己的理解: JDK = Java Develope Kit ...

  9. java 生成pdf itext_使用Java组件itext 生成pdf介绍

    iText是一个能够快速产生PDF文件的Java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用iText与 ...

最新文章

  1. python怎么读文件后删去空格以行为单位进行排序-python 大文件以行为单位读取方式比对...
  2. 在ABAP/4中声明表格控制
  3. 镗孔指令g76格式_数控车床螺纹切削指令G32,用途广泛,可分度车削多头螺纹
  4. python中vstack_Python numpy实现数组合并实例(vstack,hstack)
  5. Android实现监测网络状态
  6. Jquery导航条淡进淡出相册(动态无刷新加载数据库数据)
  7. 一个轻量级javascript框架的设计模式
  8. c语言 socket 断开自动连接,如何优雅地断开TCP连接?
  9. java使用smartupload组件实现文件上传的方法
  10. 更改linux主机名称
  11. 【路面分类】基于matlab灰度共生矩阵图形纹理检测+SVM路面状况分类【含Matlab源码 1519期】
  12. 【超详细】韦东山:史上最全嵌入式Linux学习路线图
  13. pygame下载报错
  14. 今日头条安卓_考察今日头条总部—字节跳动
  15. 设置qgraphicsitem原点_QT QGraphicsScene设置原点左下角
  16. 360Vulcan团队再获微软致谢 协助修复Edge及IE漏洞
  17. 计算机组成与体系结构——计算机体系结构分类-Flynn——2020.11.19
  18. MSHR(Miss Status Handling Register)
  19. 服务器基础设置:H3C服务器,ilo地址,管理员密码、PXE启动、虚拟化是否打开
  20. mysql locate不走索引_索引失效的情况及原因定位

热门文章

  1. c# WPF中对输入值任意限制的方法及通用示例
  2. html引入腾讯地图导航
  3. html5游戏开发_HTML5游戏开发–第10课
  4. 【新闻早报简报】早上微信里发的那些新闻早报哪里来的
  5. 温暖的光,坚定的飞翔
  6. bibtex 格式文件如何导入 Endnote
  7. 身为程序员,我敢和你打赌100块,这个数学符号你根本不会认不会写
  8. [转]社区运营必读之天涯志
  9. Sailfish OS
  10. 转专业菜鸡的秋招总结