CCF之窗口
来源:互联网 发布:搭建php运行环境 编辑:程序博客网 时间:2024/05/16 06:54
用一个数组记录在第i层上是原始输入的第几号窗口
创建一个新类,并创建一个保存该类对象的数组,用以保存每一个窗口的横坐标和纵坐标
基本思路就是这样,点击到了哪个窗口,就把那个窗口放到最上层然后把其他以前在它以上的窗口分别向下移动一个位置。
直接上代码:
package Online_pra;import java.util.Scanner;public class CCF1403_2 {public static square s[];public static void main(String args[]) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();//该数组用来存储窗口的对应位置,0号位置是最顶层窗口,n-1号位置是最底层窗口int a[]=new int[n]; for(int i=0;i<n;i++) a[i]=n-i;int m=scan.nextInt();//用来存储输入的窗口坐标s=new square[n]; for(int i=0;i<n;i++) {int x1=scan.nextInt();int y1=scan.nextInt();int x2=scan.nextInt();int y2=scan.nextInt();s[n-1-i]=new square(x1,y1,x2,y2);}for(int i=0;i<m;i++) {int posx=scan.nextInt();int posy=scan.nextInt();boolean flag=false;for(int j=0;j<n;j++) {if(click(j,posx,posy)) {//表示触碰到了最上一层的相应位置flag=true;System.out.println(a[j]);square temp=s[j];int temp1=a[j];for(int k=j;k>=1;k--) {a[k]=a[k-1];s[k]=s[k-1];}a[0]=temp1;s[0]=temp;break;}}//for(int j=0;j<n;j++) {//System.out.print(a[j]+" ");////}//System.out.println();//for(int j=0;j<n;j++) {//System.out.print(s[j].getX1()+" "+s[j].getY1()+" "+s[j].getX2()+" "+s[j].getY2());//System.out.println();//}if(!flag)System.out.println("IGNORED");}}public static boolean click(int index,int posx,int posy) {int x1=s[index].getX1();int y1=s[index].getY1();int x2=s[index].getX2();int y2=s[index].getY2();if(x1<=posx&&posx<=x2&&y1<=posy&&posy<=y2)return true;elsereturn false;}}class square{private int x1;private int y1;private int x2;private int y2;public square(int x1, int y1, int x2, int y2) {super();this.x1 = x1;this.y1 = y1;this.x2 = x2;this.y2 = y2;}public int getX1() {return x1;}public void setX1(int x1) {this.x1 = x1;}public int getY1() {return y1;}public void setY1(int y1) {this.y1 = y1;}public int getX2() {return x2;}public void setX2(int x2) {this.x2 = x2;}public int getY2() {return y2;}public void setY2(int y2) {this.y2 = y2;}}
中间注释掉的代码是用来测试的,便于及时发现问题。
阅读全文
0 0
- CCF之窗口
- CCF之窗口
- CCF之窗口(java)
- CCF 窗口
- 【CCF】窗口
- CCF 窗口
- CCF 窗口
- CCF 窗口
- ccf 窗口
- CCF 窗口
- CCF 窗口
- CCF 历年真题之窗口(_1403_2_Window.java)参考答案
- CCF CSP 认证-之字转换-窗口-画图
- CCF 窗口 Java实现
- CCF 201403-2 窗口
- CCF 命令行窗口
- ccf 201403-2 窗口
- 窗口-CCF测试往届题
- bzoj 4974: 字符串大师
- Linux下邮件服务器搭建
- Wannafly模拟赛2 A题
- CorelDRAW 文本想用好就得学会这些技巧才能胜任
- Oracle数据库
- CCF之窗口
- Spark 贝叶斯分类算法
- assert()函数用法
- leetcode-23-Merge k Sorted Lists
- hdu 6199 gems gems gems(DP)
- SpringBoot入门
- Problem K: 最小公倍数与最大公约数
- 对于多线程注入失败问题错误的纠正
- Codeforces Eyad and Math Gym