import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scn = new Scanner(System.in); int M = scn.nextInt(); int N = scn.nextInt(); int K = scn.nextInt(); ArrayList<Integer> li = new ArrayList<Integer>(); HashMap<Integer,Node> map = new HashMap<Integer,Node>(); int temp = 0; for(int i=1; i<M+1; i++) { for(int j=1; j<N+1; j++) { temp = scn.nextInt(); if(temp > 0) { Node node = new Node(); node.setM(i); node.setN(j); map.put(temp, node); li.add(temp); } } } Collections.sort(li); Collections.reverse(li); int maxNum = 0; int tempGo = 0; int tempBack = 0; Node tempNode = map.get(li.get(0)); tempGo = tempNode.getM() + 1; tempBack = tempNode.getN(); if(tempGo + tempBack <= K) { maxNum = li.get(0); } for(int i=1; i<li.size(); i++) { tempBack = map.get(li.get(i)).getM(); tempGo += Math.abs(map.get(li.get(i)).getN() - map.get(li.get(i-1)).getN()) + Math.abs(map.get(li.get(i)).getM() - map.get(li.get(i-1)).getM())+ 1; if(tempBack + tempGo <= K) { maxNum += li.get(i); } else { break; } } System.out.print(maxNum); } } class Node { int m; int n; public void setM(int m) { this.m = m; } public int getM() { return m; } public void setN(int n) { this.n = n; } public int getN() { return n; } }
点赞 2

相关推荐

头像
10-29 12:34
门头沟学院 Java
时间:&nbsp;2024.10.29&nbsp;11:30&nbsp;&nbsp;一人面试&nbsp;非群面1.&nbsp;自我介绍2.&nbsp;除了本科阶段课堂学习java之外,别的途径怎么学习java的3.&nbsp;项目是自学的,还是参与公司开发的4.&nbsp;jdk、jre、JVM的区别5.&nbsp;volatile&nbsp;了解吗?&nbsp;作用是什么?6.&nbsp;++操作符是线程安全的吗?7.&nbsp;如何创建一个线程8.&nbsp;runnable和callable有什么区别9.&nbsp;线程池的核心参数10.&nbsp;有了线程之后,为什么还要线程池?11.&nbsp;简历中提到线程池,是怎么用的,&nbsp;它的作用是什么,他的目的是什么?是提高查询速度还是怎么样?12.&nbsp;如何来确保线程安全?13.&nbsp;用到哪些消息中间件(Rabbitmq),有哪些消息模型?14.&nbsp;生产者广播消息,怎么设计15.&nbsp;消费者是怎么获取消息的,&nbsp;是直接连交换机吗?16.&nbsp;生成者发生消息到两个消息队列,消费1能收到几条17.&nbsp;另一种场景,一个消费者消费一条消息,怎么设计18.&nbsp;spring、Springboot、springmvc、Mybatis、SpringCloud有哪些常用的注解(当时想不起了,就随便说了几个)19.&nbsp;SpringbootApplication注解的作用20.&nbsp;看你使用了微服务,SpringCloud&nbsp;alibaba有哪些你用到的组件?21.&nbsp;Gateway你了解他的工作流程吗?22.&nbsp;这个路由转发包含哪些要素呢?23.&nbsp;redis有哪些基本类型,以及hash怎么实现put操作(redis命令)24.&nbsp;redis的持久化机制?25.&nbsp;MySQL索引失效的原则?反问:1.&nbsp;这是我第一次面试,比较紧张,语速太快,有什么不足以及可以学习的地方?2.&nbsp;会有岗前培训吗(面试官:&nbsp;我们的系统是基于SpringCloud实现的,然后进行封装,有对应的岗前培训,巴拉巴拉)总结:一面难度还行,都是基础八股文,&nbsp;没有底层深挖,场景延伸不多,也没有手撕算法,面试官也挺好,没有刻意为难,基本上都是会结合着简历问一些东西。#软件开发2024笔面经##java面经##java##面试##牧原集团#
查看27道真题和解析 软件开发2024笔面经
点赞 评论 收藏
分享
牛客网
牛客企业服务