希望先解释一下输入输出都是什么,题目想考啥,然后写一下代码谢谢
凑字数666666666666666666666666666666666666666
问题:计算学生每天平均有多少时间单元是用来玩游戏的,有多少天是超过平均数的。
输入:
第一行输入一个整数T, 表示测试用例数
for(int i : T){
第一行输入:L、M、N,L表示该用例中的天数。M表示每天中有多少时间单元。N表示睡觉的时间单元。
第二行输入 L乘以3 = 3L个整数,表示每天用来paper、assignment、project的数量。每张卷子2个时间单元,每个工作3个时间单元,每个项目5个时间单元
}
输出:平均每天玩游戏时间, 超过平均数的天数
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
/**
* @param L 天数
* @param M 每天多少时间
* @param N 用来睡觉
* @param arr [L][3] 每天paper、assignment、project数
* @return res[2] 平均时间和超过平均数的天数
*/
public static void calculate(int L, int M, int N, int[][] arr) {
//先把睡觉时间减去
int left = M - N;
int totalGame = 0;
int[] game = new int[L];
for (int i = 0; i < L; ++i) {
game[i] = left - 2 * arr[i][0] - 3 * arr[i][1] - 5 * arr[i][2];
totalGame += game[i];
System.out.print(game[i] + " ");
}
int average = totalGame/L;
int over=0;
for (int i : game) {
if (i > average){
over++;
}
}
System.out.println("\n" + over);
}
private static int[][] getArr(String[] s, int L) {
int[][] arr = new int[L][3];
int index = 0;
for (int i = 0; i < L; ++i) {
for (int j = 0; j < 3; ++j) {
arr[i][j] = Integer.parseInt(s[index]);
index++;
}
}
return arr;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
//测试用例数
int T = Integer.parseInt(s);
for (int i = 0; i < T; ++i) {
//L M N
String line1 = br.readLine();
String[] s1 = line1.split(" ");
//每天paper、assignment、project数
String line2 = br.readLine();
String[] s2 = line2.split(" ");
int[][] arr = getArr(s2, Integer.parseInt(s1[0]));
calculate(Integer.parseInt(s1[0]), Integer.parseInt(s1[1]), Integer.parseInt(s1[2]), arr);
}
}
}
测试:
写一个程序,计算一个学生每天有多少时间玩计算机,学生每天要做项目,睡觉,玩游戏,看报纸等,并说明了具体的时间。
输入信息使用System.in输入的。
分了两部分
第一部分是输入一个整数,这个整数表明了需要计算的用例数。
第二部分是每一个用例的相关数据,一个用例的数据用了两行输入
第一行输入L、M、N,L表示该用例中的天数。M表示每天中有多少时间单元。N表示睡觉的时间单元。
第二行输入也是输入3个整数,分别表示了paper、assignment、project的数量。
输出方面,图上没说,描述中的问题是计算每天可以用于玩游戏的时间(也就是总的时间单元减去睡觉、看报纸、做作业、做项目需要的时间单元)
但是后面又说告诉一个学生每天玩游戏的所用时间、一段时间内玩游戏的平均时间(几天的平均玩游戏时间)和这么多天里有几天的游戏时间是高于平均游戏时间是很有用的。
输出方面,图上没说,所以我也不是很清楚题目要的是什么。