华为OD机试 2023B卷题库疯狂收录中,刷题点这里
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
DVD机在视频输出时,为了保护电视显像管,在待机状态会显示屏保动画,如下图所示,DVD Logo在屏幕内来回运动,碰到边缘会反弹。
请根据如下要求,实现屏保Logo坐标的计算。
请编码实现,t秒后Logo左上角的坐标。
输入3个数字,以空格分割;
x y t
x表示Logo左上角的初始X坐标;
y表示Logo左上角的初始Y坐标;
t表示时间,题目要求t秒后Logo左上角的位置;
输出2个数字,以空格分割;
x y
第一个数字表示t秒后,Logo左上角的X坐标;
第二个数字表示t秒后,Logo左上角的Y坐标;
所有用例均保证:
package com.guor.od;
import java.util.Scanner;
public class OdTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Logo左上角的初始X坐标
int x = sc.nextInt();
// Logo左上角的初始Y坐标
int y = sc.nextInt();
// 时间
int t = sc.nextInt();
int x_step = 1;
int y_step = 1;
// 屏幕长
int width = 800;
// 屏幕宽
int height = 600;
// 求t秒后Logo左上角的位置
for (int i = 0; i < t; i++) {
if (x == 0) {
x_step = 1;
}
if (y == 0) {
y_step = 1;
}
if (x + 50 == width) {
x_step = -1;
}
if (y + 25 == height) {
y_step = -1;
}
x += x_step;
y += y_step;
}
// 输出t秒后,Logo左上角的X坐标和Y坐标
System.out.println(x + " " + y);
}
}
0 0 575
575 575
0 0 580
580 570
下一篇:华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法
本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。