優化:用結構體數組記錄視窗資訊,可以友善的進行視窗的置頂和移動;
#include<stdio.h>
struct W
{
int hang1, lie1;
int hang2, lie2;
int no;
}w[10], flag;//結構體數組w和flag記錄視窗資訊;
int main()
{
int n, m, c[10][2] = {0}, tag = 0;
scanf("%d%d", &n, &m);
for(int i = n - 1; i >= 0; i--)
{
scanf("%d%d%d%d", &w[i].hang1, &w[i].lie1, &w[i].hang2, &w[i].lie2);
w[i].no = n - i;//最先輸入的圖層編号為1,最後為n;
}
for(int i = 0; i < m; i++)
scanf("%d%d", &c[i][0], &c[i][1]);
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
if((c[i][0] >= w[j].hang1 && c[i][0] <= w[j].hang2) &&
(c[i][1] >= w[j].lie1 && c[i][1] <= w[j].lie2))
{
tag = 1;//tag等于1表示點選在視窗内;
printf("%d\n", w[j].no);
flag = w[j];
for(int k = j - 1; k >= 0; k--)
w[k + 1] = w[k];
w[0] = flag;
break;
}
if(tag == 0)
printf("IGNORED\n");
tag = 0;
}
return 0;
}