Codeforces Global Round 12 B

Codeforces Global Round 12 B

大意

略...

思路

当我们选定了一个点后,如果这个点覆盖范围之外还有点,那么肯定不成立。

所以我们需要找到一个能够覆盖所有点的点。

代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;

#define ll long long
#define ull unsigned long long
#define cint const int&
#define Pi acos(-1)

const int mod = 998244353;
const int inf_int = 0x7fffffff;
const ll inf_ll = 0x7fffffffffffffff;
const double ept = 1e-9;

int t, n, k;
int x[101], y[101];

int main() {
    cin >> t;
    while(t--) {
        cin >> n >> k;
        bool flag=0;
        for(int i=1; i<=n; i++) {
            cin >> x[i] >> y[i]; 
        }
        for(int i=1; i<=n; i++) {
            flag=0;
            for(int j=1; j<=n; j++)
                if(i!=j && abs(x[i]-x[j])+abs(y[i]-y[j])>k) flag=1;
            if(!flag) break;
        }
        if(flag) cout << -1 << endl;
        else cout << 1 << endl;
    }   
    return 0;
}
原文地址:https://www.cnblogs.com/ullio/p/14105648.html