CSP201909-1
/**
3 3
73 -8 -6 -4
76 -5 -10 -8
80 -6 -15 0
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(),m=sc.nextInt(),index=0;
int [] nums=new int[n];
int [] divNums=new int[n];
for(int i=0;i<n;i++){
nums[i]=sc.nextInt();
for(int j=0;j<m;j++){
divNums[i] -= sc.nextInt();
}
index=divNums[i]>divNums[index]?i:index;
}
int numSum=0;
for(int i=0;i<n;i++){
numSum += nums[i]-divNums[i];
}
System.out.print(numSum+" "+(index+1)+" "+divNums[index]);
}
}
先创建一个Scanner对象sc用于接受输入信息。
根据题目意思,定义两个变量n、m分别用于储存苹果树的个数和疏果的轮数。定义两个长度为n的int型的数组nums和divNums分别用于储存果树上果子的数量以及每棵树上疏果的总个数。
外层for循环每执行一轮代表疏果完成一棵果树,执行苹果树的总数n轮。在每轮循环的内部,首先接受下一个输入的值,并将其赋值给nums中。
在内层的for循环中,每循换一次就在果树对应的divNums数组中存入疏果的个数。其中用原本的个数divNums[i]减去接收到的输入值,得到为正的疏果数,方便后面操作。内层for循环的总次数为疏果的轮数m。
在内层for循环结束之后,判断当前果树的疏果个数是否大于第index所代表的树,如果大于,则index指向当前的树。
所有执行完之后,通过一个for循环来计算剩余的苹果总数,即每棵树上原有的减去每棵树上疏果的。
最后输出剩余的总果数numSum、疏果最多的树index+1(数组索引值从0开始)、疏果数divNums[index]