https://vjudge.net/problem/CodeForces-1332A
题目大意:给出初始位置
x
、
y
x、y
x、y,限制位置
x
1
、
y
1
、
x
2
、
y
2
x_1、y_1、x_2、y_2
x1、y1、x2、y2,四个数
a
、
b
、
c
、
d
a、b、c、d
a、b、c、d,表示向左、向右、向下、向上走的步数,你可以任意安排行走的顺序,问能否保证整个过程中
x
1
<
=
x
<
=
x
2
,
y
1
<
=
y
<
=
y
2
x_1<=x<=x_2,y_1<=y<=y_2
x1<=x<=x2,y1<=y<=y2。
思路:特判一下 x = x 1 = x 2 x=x_1=x_2 x=x1=x2的情况( y y y同理),然后直接判断最终位置是否满足限制就可以了。
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
int t,a,b,c,d;
int x,y,dx,dy,sx,sy;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d",&a,&b,&c,&d);
scanf("%d%d%d%d%d%d",&x,&y,&dx,&dy,&sx,&sy);
if(dx==sx&&(a||b))
{
printf("No\n");
continue;
}
if(dy==sy&&(c||d))
{
printf("No\n");
continue;
}
x+=b-a;
y+=d-c;
if(x>=dx&&x<=sx&&y>=dy&&y<=sy)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}