提出 #66566245
ソースコード 拡げる
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
#define MaxN 3005
struct Node {
int dis, u, v;
bool operator < (Node t) const {
return dis < t.dis;
}
bool operator > (Node t) const {
return dis > t.dis;
}
};
int fa[MaxN], n, m, q, x[MaxN], y[MaxN];
priority_queue < Node, vector<Node>, greater<Node> > pq;
int find(int x) {
if (fa[x] != x) fa[x] = find(fa[x]);
return fa[x];
}
void add(int j) {
for(int i = 1; i < j; i++) {
Node t;
t.dis = abs(x[i]-x[j]) + abs(y[i]-y[j]);
t.u = i;
t.v = j;
pq.push(t);
}
}
int main()
{
cin >> n >> q;
for(int i = 1; i <= n; i++) {
m++;
fa[i] = i;
cin >> x[i] >> y[i];
add(i);
}
int op;
while (q--) {
cin >> op;
if (op == 1) {
n++;
m++;
fa[n] = n;
cin >> x[n] >> y[n];
add(n);
}
else if (op == 2) {
if (m == 1) cout << -1 << endl;
else {
int now = -1;
while(now == -1) {
Node t = pq.top();
pq.pop();
if (find(t.u) == find(t.v)) continue;
now = t.dis;
cout << now << endl;
fa[find(t.u)] = find(t.v);
m--;
while (!pq.empty() && pq.top().dis == now) {
Node tt = pq.top();
pq.pop();
if (find(tt.u) != find(tt.v)) {
fa[find(tt.u)] = find(tt.v);
m--;
}
}
}
}
}
else {
int x, y;
cin >> x >> y;
if (find(x) == find(y)) {
cout << "Yes" << endl;
}
else cout << "No" << endl;
}
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Connecting Points |
| ユーザ | gobywind |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 500 |
| コード長 | 1522 Byte |
| 結果 | AC |
| 実行時間 | 133 ms |
| メモリ | 101648 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3656 KiB |
| 01_test_00.txt | AC | 34 ms | 27892 KiB |
| 01_test_01.txt | AC | 36 ms | 27732 KiB |
| 01_test_02.txt | AC | 132 ms | 101648 KiB |
| 01_test_03.txt | AC | 36 ms | 27824 KiB |
| 01_test_04.txt | AC | 72 ms | 52420 KiB |
| 01_test_05.txt | AC | 76 ms | 52472 KiB |
| 01_test_06.txt | AC | 51 ms | 27740 KiB |
| 01_test_07.txt | AC | 36 ms | 27744 KiB |
| 01_test_08.txt | AC | 53 ms | 27804 KiB |
| 01_test_09.txt | AC | 49 ms | 27900 KiB |
| 01_test_10.txt | AC | 48 ms | 27808 KiB |
| 01_test_11.txt | AC | 75 ms | 52420 KiB |
| 01_test_12.txt | AC | 35 ms | 27800 KiB |
| 01_test_13.txt | AC | 35 ms | 27712 KiB |
| 01_test_14.txt | AC | 133 ms | 101620 KiB |
| 01_test_15.txt | AC | 34 ms | 27712 KiB |
| 01_test_16.txt | AC | 71 ms | 52360 KiB |
| 01_test_17.txt | AC | 72 ms | 52440 KiB |
| 01_test_18.txt | AC | 50 ms | 27812 KiB |
| 01_test_19.txt | AC | 34 ms | 27756 KiB |
| 01_test_20.txt | AC | 49 ms | 27844 KiB |
| 01_test_21.txt | AC | 44 ms | 27980 KiB |
| 01_test_22.txt | AC | 46 ms | 27820 KiB |
| 01_test_23.txt | AC | 71 ms | 52444 KiB |
| 01_test_24.txt | AC | 67 ms | 27816 KiB |
| 01_test_25.txt | AC | 75 ms | 27884 KiB |
| 01_test_26.txt | AC | 62 ms | 27880 KiB |
| 01_test_27.txt | AC | 54 ms | 27844 KiB |
| 01_test_28.txt | AC | 75 ms | 27756 KiB |
| 01_test_29.txt | AC | 64 ms | 27892 KiB |
| 01_test_30.txt | AC | 69 ms | 27844 KiB |
| 01_test_31.txt | AC | 50 ms | 27892 KiB |
| 01_test_32.txt | AC | 60 ms | 27824 KiB |
| 01_test_33.txt | AC | 60 ms | 27756 KiB |
| 01_test_34.txt | AC | 51 ms | 27748 KiB |
| 01_test_35.txt | AC | 51 ms | 27728 KiB |
| 01_test_36.txt | AC | 54 ms | 27820 KiB |
| 01_test_37.txt | AC | 51 ms | 27844 KiB |
| 01_test_38.txt | AC | 51 ms | 27744 KiB |
| 01_test_39.txt | AC | 49 ms | 27736 KiB |
| 01_test_40.txt | AC | 74 ms | 52604 KiB |
| 01_test_41.txt | AC | 51 ms | 27800 KiB |
| 01_test_42.txt | AC | 84 ms | 52376 KiB |
| 01_test_43.txt | AC | 1 ms | 3528 KiB |