菜鸟 洛谷刷题 c语言
P1830 轰炸III
#include<stdio.h>
#define N 101
int main()
{
int n,m,x,y;
int a[N][4],b[N][2];
int i,j,k,flag,f;
char result[N][3];
k = 0;
scanf("%d%d%d%d",&n,&m,&x,&y);
for(i = 0;i < x;i++)
{
for(j = 0;j <4;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i = 0;i < y;i++)
{
for(j =0 ;j < 2;j++)
{
scanf("%d",&b[i][j]);
}
}
for(i = 0;i < y;i++)
{
flag = 0;
for(j = 0;j < x;j++)
{
if(a[j][0]<a[j][2]&&a[j][1]<a[j][3])
{
if(b[i][0]>=a[j][0]&&b[i][0]<=a[j][2]&&b[i][1]>=a[j][1]&&b[i][1]<=a[j][3])
{
flag++;
f = j+1;
}
}
if(a[j][0]>a[j][2]&&a[j][1]<a[j][3])
{
if(b[i][0]<=a[j][0]&&b[i][0]>=a[j][2]&&b[i][1]>=a[j][1]&&b[i][1]<=a[j][3])
{
flag++;
f = j+1;
}
}
if(a[j][0]<a[j][2]&&a[j][1]>a[j][3])
{
if(b[i][0]>=a[j][0]&&b[i][0]<=a[j][2]&&b[i][1]<=a[j][1]&&b[i][1]>=a[j][3])
{
flag++;
f = j+1;
}
}
if(a[j][0]>a[j][2]&&a[j][1]>a[j][3])
{
if(b[i][0]<=a[j][0]&&b[i][0]>=a[j][2]&&b[i][1]<=a[j][1]&&b[i][1]>=a[j][3])
{
flag++;
f = j+1;
}
}
if(a[j][0]==a[j][2]&&a[j][1]==a[j][3])
{
if(b[i][0]==a[j][0]&&b[i][1]==a[j][1])
{
flag++;
f = j+1;
}
}
if(a[j][0]==a[j][2]&&a[j][1]<a[j][3])
{
if(b[i][0]==a[j][0]&&b[i][1]>=a[j][1]&&b[i][1]<=a[j][3])
{
flag++;
f = j+1;
}
}
if(a[j][0]==a[j][2]&&a[j][1]>a[j][3])
{
if(b[i][0]==a[j][0]&&b[i][1]<=a[j][1]&&b[i][1]>=a[j][3])
{
flag++;
f = j+1;
}
}
if(a[j][0]<a[j][2]&&a[j][1]==a[j][3])
{
if(b[i][0]>=a[j][0]&&b[i][0]<=a[j][2]&&b[i][1]==a[j][1])
{
flag++;
f = j+1;
}
}
if(a[j][0]>a[j][2]&&a[j][1]==a[j][3])
{
if(b[i][0]<=a[j][0]&&b[i][0]>=a[j][2]&&b[i][1]==a[j][1])
{
flag++;
f = j+1;
}
}
}
if(flag == 0)
{
result[k][0] = 'N';
k++;
}
else
{
result[k][0] = 'Y';
result[k][1] = flag;
result[k][2] = f;
k++;
}
}
for(i = 0;i < y;i++)
{
if(result[i][0]!='N')
{
printf("%c ",result[i][0]);
printf("%d ",result[i][1]);
printf("%d\n",result[i][2]);
}
else
{
printf("%c\n",result[i][0]);
}
}
}
本题已通过