题目描述(1)
现在时间是 a 点 b 分,请问t 分钟后,是几点几分?
输入描述
输入的第一行包含一个整数 a*。
第二行包含一个整数 b*。
第三行包含一个整数 t*。
其中,0≤a≤23,0≤b≤59,0≤t,t 分钟后还是在当天。
输出描述
输出第一行包含一个整数,表示结果是几点。
第二行包含一个整数,表示结果是几分。
输入输出样例
示例 1
输入
3 20 165
输出
6 5
运行限制
-
最大运行时间:1s
-
最大运行内存: 128M
解题结果
Java
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 输入当前时间的时和分
int a = scan.nextInt();
int b = scan.nextInt();
// 输入经过的时间(分钟)
int t = scan.nextInt();
// 计算新的时间
int newMinutes = (a * 60 + b + t) % (24 * 60);
int newHours = newMinutes / 60;
int newMinutesInHour = newMinutes % 60;
// 输出结果
System.out.println(newHours);
System.out.println(newMinutesInHour);
scan.close();
}
}
题目描述(2)
在数列 a1,a2,⋯,an中,定义两个元素ai 和 aj 的距离为∣i−j∣+∣ai−aj∣,即元素下标的距离加上元素值的差的绝对值,其中 ∣x∣ 表示 x 的绝对值。
给定一个数列,请问找出元素之间最大的元素距离。
输入描述
输入的第一行包含一个整数 �n。
第二行包含 n 个整数 a1,a2,⋯,an,相邻的整数间用空格分隔,表示给定的数列。
其中,2≤n≤1000,0≤数列中的数≤104。
输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
5 9 4 2 4 7
输出
9
运行限制
-
最大运行时间:1s
-
最大运行内存: 256M
解题结果
Java
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 输入数列的长度
int n = scan.nextInt();
// 输入数列的元素
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scan.nextInt();
}
// 寻找最大的元素距离
int maxDistance = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
int distance = Math.abs(i - j) + Math.abs(arr[i] - arr[j]);
maxDistance = Math.max(maxDistance, distance);
}
}
// 输出结果
System.out.println(maxDistance);
scan.close();
}
}