【CSP】【Java】小明种苹果

在这里插入图片描述

活学活用新思路:
题目中有一项任务是计算每行除了第一个数字的和。样例1的输入在这里插入图片描述
这里运用了上一个博客中写的求最大子数组的思想,可以定义一个一维数组用来存储每行的数字。

其余思路较为简单,认真考虑即可得。

代码如下

package _19_1_小明种苹果;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int[][] matrix = new int[n][m+1];
		
		//输入这个矩阵
		for(int i = 0; i < n; i++){
			for (int j = 0; j < m+1; j++) {
				matrix[i][j] = scanner.nextInt();
			}
		}
		
		//定义一维数组用来记录每行除第一元素以外的和
		int[] suGuo = new int[n];
		int max = suGuo[0];
		int count = 0;
		for(int i = 0; i < n; i++){
			for (int j = 1; j < m+1; j++) {
				//System.out.println(matrix[i][j]);
				suGuo[i] += matrix[i][j]; 
			}
			suGuo[i] = -suGuo[i];
			if(suGuo[i] > max){
				max = suGuo[i];
				count = i;
			}
		}
		count++;

		//求和
		int sum = 0;
		for(int i = 0 ; i < n; i++){
			sum += matrix[i][0] - suGuo[i];
		}
		System.out.println(sum+" "+count+" "+max);
	
	}

}

发布了81 篇原创文章 · 获赞 13 · 访问量 2378

猜你喜欢

转载自blog.csdn.net/alovelypeach/article/details/104310319