您的位置:首页 > 编程语言 > C语言/C++

CCF认证 - 201403-2 -窗口(C语言代码实现)(100分)

2019-03-16 17:25 162 查看

优化:用结构体数组记录窗口信息,可以方便的进行窗口的置顶和移动;

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: