java解题公共汽车
来源:互联网 发布:人工智能会毁灭人类 编辑:程序博客网 时间:2024/05/17 07:42
公共汽车
【问题描述】
一个城市的道路成了像棋盘那样的网状,南北向的路有n条,并由西向东从1标记到n,东西向的路有m条,并从南向北从1标记到m,每一个交叉点代表一个路口,有的路口有正在等车的乘客。一辆公共汽车将从(1,1)点驶到(n,m)点,车只能向东或者向北开.
写一个程序,告诉司机怎么走能接到最多的乘客。
第一行是n,m,和k,其中k是有乘客的路口的个数。
以下k行是有乘客的路口的坐标和乘客的数量。
每行内相邻两元素用一个空格隔开
【输出】
接到的最多的乘客数
【输入输出样例】
bus.in
bus.out
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
【数据范围限制】
100%的数据:1 <= n <= 103, 1 <= m <= 103, 1 <= k <= 103;
每个路口的乘客数量不超过1000000。
package chang57;import java.io.File;import java.io.FileWriter;import java.io.Writer;import java.util.Scanner;public class Bus {public static void main(String[] args) {try {Scanner sc = new Scanner(new File("bus.in"));Writer wr = new FileWriter("bus.out");int n = sc.nextInt();int m = sc.nextInt();int k = sc.nextInt();int arr[][] = new int[n + 1][m + 1];for (int i = 0; i < k; i++) {arr[sc.nextInt()][sc.nextInt()] = sc.nextInt();}for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {arr[i][j] += max(arr[i - 1][j], arr[i][j - 1]);}}wr.write(String.valueOf(arr[n][m]));sc.close();wr.close();} catch (Exception e) {e.printStackTrace();}}static int max(int a, int b) {return a > b ? a : b;}}
0 0
- java解题公共汽车
- 公共汽车
- 【t087】公共汽车
- 公共汽车刷卡计费系统
- 智能卡公共汽车收费系统
- 【最短路】公共汽车
- 公共汽车人数计数的改进
- 在哪里等公共汽车最好
- 公共汽车里的千古绝骂
- POJ1753 JAVA解题分析
- java解题注意
- POJ1118 解题报告JAVA
- POJ1207解题报告 Java
- java 趣味题目解题。
- HDU_2055解题报告(JAVA)
- java 解题最大正方形
- Java与C++ 解题报告
- 李阳疯狂英语突破对话(18)-公共汽车多久一班
- python整型
- RxJava的使用,教你四步搞定RxBus.
- 自定义present动画的屏幕变黑的一个坑
- Remove Duplicates from Sorted List II
- Android基础———ViewPager
- java解题公共汽车
- 运维日记011 - Ubuntu下更改初始用户名的方法
- Github 使用方法
- HTML基础样式(二)
- Vector与ArrayList区别
- leetcode---Water and Jug Problem
- JavaScript调试之console命令的各函数用法
- 对于rpc遇到的疑问以及个人理解
- CSS学习