2014-03-2 CCF计算机软件能力认证真题练习:窗口——java实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了2014-03-2 CCF计算机软件能力认证真题练习:窗口——java实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1194字,纯文字阅读大概需要2分钟。
内容图文
题目描述
输入样例
3 4
0 0 4 4
1 1 5 5
2 2 6 6
1 1
0 0
4 4
0 5
输出样例
2
1
1
IGNORED
代码
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();
// x[i][0]和x[i][1]分别放x,y,x[i][3]表示这是第几个窗口,便于输出
int[][] x = new int[n][3];
int[][] y = new int[n][2];
for (int i = 0; i < n; i++) {
x[i][0] = scanner.nextInt();
y[i][0] = scanner.nextInt();
x[i][1] = scanner.nextInt();
y[i][1] = scanner.nextInt();
x[i][2] = i+1;
}
for (int i = 0; i < m; i++) {
int xi = scanner.nextInt();
int yi = scanner.nextInt();
// flag的作用是,如果鼠标点击的位置没有窗口,输出ignored
boolean flag = true;
// 由于输入的窗口是从最底层到最顶层的,那么x[n-1]表示最顶层,鼠标点击窗口应该从最顶层往最底层遍历
for (int j = n-1; j >= 0; j--) {
if (xi >= x[j][0] && xi <= x[j][1] && yi >= y[j][0] && yi <= y[j][1]){
flag = false;
System.out.println(x[j][2]);
// 为了保持数组中窗口的优先级,需要把当前显示在屏幕最顶层的放到x[n-i]中
int[] tempt_x = x[j];
int[] tempt_y = y[j];
for (int k = j+1; k < n; k++){
x[k-1] = x[k];
y[k-1] = y[k];
}
x[n-1] = tempt_x;
y[n-1] = tempt_y;
break;
}
}
if (flag)
System.out.println("IGNORED");
}
}
}
内容总结
以上是互联网集市为您收集整理的2014-03-2 CCF计算机软件能力认证真题练习:窗口——java实现全部内容,希望文章能够帮你解决2014-03-2 CCF计算机软件能力认证真题练习:窗口——java实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。