Codeforces Round #512---B.Vasya and Cornfield
阿新 • • 發佈:2019-02-14
博主連結
題目
題意:
給出一個矩形,頂點座標具有笛卡爾性質,然後m次詢問,每次詢問給一個點,溫這個點是否再矩形內
解題思路:
因為矩形頂點具有笛卡爾性質所以矩形4條邊的方程分別為y=a+x,y=a-x,y=x-a,y=2*n-d-x,所以判斷下點和4條邊的關係便可值答案
程式碼:
#include<stdio.h> #include<bits/stdc++.h> #define met(a) memset(a,0,sizeof(a)) #define fup(i,a,n,b) for(int i=a;i<n;i+=b) #define fow(j,a,n,b) for(int j=a;j>0;j-=b) #define MOD(x) (x)%mod using namespace std; const int maxn = 1e5 + 5; const int mod = 1e9 + 7; typedef long long ll; int main() { int n, d; scanf("%d%d", &n, &d); int m; scanf("%d", &m); int x, y; for (int i = 0; i < m; i++) { scanf("%d%d", &x, &y); if (x + d>=y&&x - d<=y&&d - x <=y && 2 * n - d - x >= y)printf("YES\n"); else printf("NO\n"); } }