3166 | 2023. 02. 21 12:16:29 | renn | Hírvivők csoportosítása (40) | cpp17 | Hibás válasz 0/40 | 21ms | 6084 KiB |
#include <bits/stdc++.h>
using namespace std;
#define GOTTAGOFAST cin.tie(0); ios::sync_with_stdio(0);
int cnt;
void bfs(int c, int &n, int &cl, int &k, vector<bool> &volt, vector<pair<int, int>> &pontok);
bool megold(int n, int cl, int &k, vector<bool> &volt, vector<pair<int, int>> &pontok)
{
fill(volt.begin(), volt.end(), false);
cnt = 1;
for (size_t i = 0; i < n; i++)
{
if(volt[i]) continue;
cnt++;
bfs(0, n, cl, k, volt, pontok);
}
return cnt <= k;
}
void bfs(int c, int &n, int &cl, int &k, vector<bool> &volt, vector<pair<int, int>> &pontok)
{
volt[c] = true;
for(int i = 0; i < n; i++)
{
if(volt[i] || i == c) continue;
if(abs(pontok.at(c).first-pontok.at(i).first)+abs(pontok.at(c).second-pontok.at(i).second) <= cl)
{
bfs(i, n, cl, k, volt, pontok);
continue;
}
}
}
int main()
{
GOTTAGOFAST
int x, y, n, k;
cin >> x >> y >> n >> k;
vector<vector<int>> graf(n, vector<int>(n, -1));
vector<pair<int, int>> pontok(n);
vector<bool> volt(n);
int a, b;
for (size_t i = 0; i < n; i++)
{
cin >> a >> b;
pontok.at(i) = {a, b};
}
int left = 1, right = 1000001, mid;
while(left < right)
{
mid = left+(right-left)/2;
if(megold(n, mid, k, volt, pontok))
{
right = mid-1;
}
else
{
left = mid+1;
}
}
cout << (right-1) << "\n";
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 0/40 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Hibás válasz | 0/0 | 18ms | 3484 KiB | |||
3 | Hibás válasz | 0/1 | 3ms | 2476 KiB | |||
4 | Hibás válasz | 0/1 | 3ms | 2524 KiB | |||
5 | Hibás válasz | 0/1 | 4ms | 3152 KiB | |||
6 | Hibás válasz | 0/1 | 6ms | 3256 KiB | |||
7 | Hibás válasz | 0/1 | 3ms | 2888 KiB | |||
8 | Hibás válasz | 0/1 | 4ms | 3144 KiB | |||
9 | Hibás válasz | 0/1 | 4ms | 3356 KiB | |||
10 | Hibás válasz | 0/1 | 6ms | 3760 KiB | |||
11 | Hibás válasz | 0/1 | 6ms | 3940 KiB | |||
12 | Hibás válasz | 0/1 | 6ms | 3876 KiB | |||
13 | Hibás válasz | 0/3 | 21ms | 5696 KiB | |||
14 | Hibás válasz | 0/3 | 20ms | 5552 KiB | |||
15 | Hibás válasz | 0/3 | 17ms | 5552 KiB | |||
16 | Hibás válasz | 0/3 | 19ms | 5772 KiB | |||
17 | Hibás válasz | 0/3 | 17ms | 5628 KiB | |||
18 | Hibás válasz | 0/3 | 19ms | 5708 KiB | |||
19 | Hibás válasz | 0/3 | 21ms | 5696 KiB | |||
20 | Hibás válasz | 0/3 | 19ms | 5696 KiB | |||
21 | Hibás válasz | 0/3 | 19ms | 5824 KiB | |||
22 | Hibás válasz | 0/3 | 17ms | 6084 KiB |