涂色问题

来源:互联网 发布:尼格罗人种知乎 编辑:程序博客网 时间:2024/06/10 03:47

 

从最后开始搜索,我的方法是简单的一行行搜索,按行来搜,在判断的时候就是只要满足条件,就跳出循环,输出第i行的值(从1到n),我输出的是第i+1行的(从0到n-1),对应的i就是颜色,代码如下:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int main()
{
 int T,i,j,x,y;
 int flag;
 int a[10002][4];
 scanf ("%d",&T);
 for (i=0;i<T;i++)
 for (j=0;j<4;j++)
  scanf ("%d",&a[i][j]);  //输入数据;
  
 scanf ("%d%d",&x,&y);
 flag=0;
 for (i=T-1;i>=0;i--)
 {
  //printf ("%d   %d   %d   %d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
  if ((a[i][0]<=x && x<=a[i][0]+a[i][2]) && (a[i][1]<=y && y<=a[i][1]+a[i][3]))
  {
   flag++;
   break;
  }

 }
 if (flag==0)  // 不在区域
  printf("-1\n");
 if (flag!=0)
  printf ("%d\n",i+1);
 return 0;
}