1. 程式人生 > 實用技巧 >Codeforces Global Round 12 B

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;
}