QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#533801 | #3955. Archipelago | Yarema# | AC ✓ | 12ms | 3900kb | C++20 | 1.3kb | 2024-08-26 14:49:12 | 2024-08-26 14:49:13 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for(int i = (a); i < (b); i++)
#define RFOR(i, a, b) for(int i = (a) - 1; i >= (b); i--)
#define SZ(a) int(a.size())
#define ALL(a) a.begin(), a.end()
#define PB push_back
#define MP make_pair
#define F first
#define S second
typedef long long LL;
typedef vector<int> VI;
typedef pair<int, int> PII;
typedef double db;
struct DSU
{
int n;
VI p, sz;
DSU(int _n = 0)
{
n = _n;
p.resize(n);
iota(ALL(p), 0);
sz.assign(n, 1);
}
int find(int v)
{
if (v == p[v])
return v;
return p[v] = find(p[v]);
}
bool unite(int u, int v)
{
u = find(u);
v = find(v);
if (u == v)
return false;
if (sz[u] > sz[v])
swap(u, v);
p[u] = v;
sz[v] += sz[u];
return true;
}
};
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n, d;
cin >> n >> d;
vector<PII> v(n);
DSU ds(n);
FOR (i, 0, n)
{
cin >> v[i].F >> v[i].S;
FOR (j, 0, i)
{
int dx = v[i].F - v[j].F;
int dy = v[i].S - v[j].S;
if (dx * dx + dy * dy <= d * d)
ds.unite(i, j);
}
}
vector<PII> ans;
FOR (i, 0, n)
ans.PB({-ds.sz[ds.find(i)], i});
sort(ALL(ans));
FOR (i, 0, n)
{
if (i)
cout << ' ';
cout << ans[i].S + 1;
}
cout << '\n';
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3548kb
input:
7 3 1 1 3 2 2 3 4 2 12 5 13 7 11 6
output:
1 2 3 4 5 6 7
result:
ok
Test #2:
score: 0
Accepted
time: 0ms
memory: 3520kb
input:
3 4 2 5 5 0 4 4
output:
1 3 2
result:
ok
Test #3:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
25 3 111 88 4 18 313 211 210 134 247 161 210 149 357 252 89 87 266 171 232 158 53 68 171 111 12 41 336 222 75 73 29 56 59 72 353 235 152 106 129 97 7 26 183 113 284 189 301 200 186 115
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
result:
ok
Test #4:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
25 3 6 9 6 6 3 0 12 12 0 3 12 9 9 0 3 3 12 6 6 3 3 6 12 3 0 0 9 3 6 0 0 12 3 9 6 12 9 6 3 12 12 0 9 9 0 6 0 9 9 12
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
result:
ok
Test #5:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
25 5 0 102 0 144 0 138 0 36 0 72 0 54 0 90 0 24 0 132 0 66 0 0 0 84 0 78 0 120 0 18 0 12 0 30 0 96 0 114 0 108 0 6 0 48 0 42 0 126 0 60
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
result:
ok
Test #6:
score: 0
Accepted
time: 0ms
memory: 3480kb
input:
25 3 0 27 0 69 0 36 0 3 0 72 0 54 0 21 0 15 0 57 0 24 0 66 0 33 0 0 0 51 0 45 0 18 0 12 0 63 0 30 0 39 0 6 0 48 0 42 0 9 0 60
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
result:
ok
Test #7:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
25 3 0 64 0 20 0 56 0 76 0 16 0 36 0 72 0 28 0 32 0 24 0 44 0 4 0 40 0 0 0 84 0 12 0 80 0 8 0 92 0 96 0 52 0 88 0 48 0 68 0 60
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
result:
ok
Test #8:
score: 0
Accepted
time: 0ms
memory: 3784kb
input:
25 12 194 188 293 305 254 265 69 46 283 298 163 146 230 232 44 27 217 211 261 274 320 370 47 31 305 351 125 97 296 327 34 26 18 2 243 248 105 81 219 227 159 138 93 70 183 165 142 115 107 90
output:
8 12 16 3 6 10 19 21 25 1 2 4 5 7 9 11 13 14 15 17 18 20 22 23 24
result:
ok
Test #9:
score: 0
Accepted
time: 0ms
memory: 3480kb
input:
20 10 0 0 10 30 30 0 47 55 10 10 0 20 30 20 20 20 20 30 20 0 0 30 20 10 31 35 30 10 44 37 0 10 10 20 51 67 10 0 70 69
output:
1 2 3 5 6 7 8 9 10 11 12 14 16 17 19 4 13 15 18 20
result:
ok
Test #10:
score: 0
Accepted
time: 0ms
memory: 3752kb
input:
25 7 1 3 3 0 0 2 2 1 0 3 4 0 1 2 3 3 4 4 2 2 0 4 4 1 1 1 3 2 0 0 1 4 2 3 4 2 1 0 0 1 3 1 2 0 4 3 3 4 2 4
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
result:
ok
Test #11:
score: 0
Accepted
time: 12ms
memory: 3652kb
input:
1937 3 450874 463736 425600 437931 1076434 1115420 1831853 1924061 1082975 1124089 1516736 1582110 774378 800971 1079369 1118978 990985 1026102 1540547 1614631 332841 345307 760457 788322 342324 360308 1130132 1165908 1561518 1636935 850008 877177 1347029 1396095 863812 891225 1707092 1781490 609525...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #12:
score: 0
Accepted
time: 3ms
memory: 3680kb
input:
1936 3 78 39 99 126 90 42 93 15 9 0 15 30 66 66 111 123 96 123 60 81 117 96 45 78 114 60 63 117 54 87 9 9 66 42 108 126 24 21 81 36 120 9 45 54 66 93 30 111 12 129 96 114 117 105 120 120 84 102 57 60 75 102 99 108 63 114 12 90 105 117 90 60 27 72 105 6 51 126 15 108 108 117 111 24 66 84 123 45 87 3 ...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #13:
score: 0
Accepted
time: 3ms
memory: 3664kb
input:
2000 5 0 378 0 8724 0 11064 0 3282 0 6666 0 8100 0 9054 0 1224 0 10338 0 11958 0 408 0 9522 0 9900 0 4080 0 5124 0 7464 0 636 0 10368 0 11322 0 5454 0 5880 0 8358 0 1104 0 10698 0 5922 0 480 0 666 0 9780 0 4338 0 7722 0 9156 0 10110 0 2280 0 1464 0 10578 0 10956 0 6180 0 8520 0 738 0 10140 0 11424 0...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #14:
score: 0
Accepted
time: 3ms
memory: 3676kb
input:
2000 3 0 378 0 1113 0 2547 0 3282 0 3591 0 5931 0 489 0 1224 0 4347 0 408 0 4080 0 4389 0 5124 0 636 0 2805 0 5454 0 5880 0 369 0 747 0 1104 0 5922 0 480 0 666 0 2169 0 4338 0 4647 0 2280 0 627 0 1464 0 5445 0 189 0 738 0 5007 0 657 0 2160 0 987 0 1722 0 5703 0 4887 0 180 0 2520 0 2829 0 4998 0 510 ...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #15:
score: 0
Accepted
time: 3ms
memory: 3496kb
input:
2000 3 0 7616 0 532 0 2872 0 4172 0 5776 0 1224 0 3356 0 4640 0 7028 0 408 0 1708 0 4080 0 5124 0 7464 0 636 0 2176 0 4564 0 5880 0 7948 0 1104 0 3428 0 5000 0 6364 0 480 0 1588 0 3928 0 5228 0 6832 0 964 0 2280 0 4412 0 5696 0 7316 0 1464 0 2764 0 4880 0 6180 0 328 0 1948 0 3232 0 5620 0 6680 0 812...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #16:
score: 0
Accepted
time: 8ms
memory: 3896kb
input:
1937 12 377135 395489 1687262 1689905 812152 843106 226215 248895 1564031 1565502 884767 917333 1392483 1417902 1051139 1086488 37362 41112 1327427 1358465 2994 3886 1366751 1395642 1504965 1511950 395136 418725 1806677 1806412 1461930 1477980 1073754 1112505 347792 359186 730665 755599 875004 90674...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #17:
score: 0
Accepted
time: 3ms
memory: 3616kb
input:
1941 10 430 60 110 190 330 240 170 130 390 50 210 310 3833 3441 130 170 410 330 30 100 70 400 150 280 170 420 410 0 90 130 270 390 290 320 240 160 150 70 170 250 10 310 390 410 130 50 20 280 330 330 410 290 30 220 360 350 270 160 90 420 330 0 420 130 40 230 150 160 190 390 220 60 120 120 10 430 250 ...
output:
1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 10...
result:
ok
Test #18:
score: 0
Accepted
time: 8ms
memory: 3900kb
input:
2000 66 31 6 40 22 21 28 4 36 43 3 7 25 29 44 33 41 36 34 9 0 34 8 15 30 37 13 24 14 13 20 3 2 28 10 31 15 1 40 40 29 21 37 4 35 8 38 7 22 29 37 33 34 16 38 36 41 41 34 22 12 9 9 34 3 24 21 13 13 0 14 38 31 3 11 28 1 1 33 40 4 4 42 7 15 16 29 41 43 22 7 44 16 12 41 34 26 24 28 10 19 13 6 0 5 38 22 2...
output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ...
result:
ok
Test #19:
score: 0
Accepted
time: 0ms
memory: 3528kb
input:
10 1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10
output:
1 2 3 4 5 6 7 8 9 10
result:
ok
Test #20:
score: 0
Accepted
time: 0ms
memory: 3748kb
input:
1 1 1 1
output:
1
result:
ok
Test #21:
score: 0
Accepted
time: 0ms
memory: 3568kb
input:
6 3 1 1 4 4 5 5 8 8 9 9 10 10
output:
4 5 6 2 3 1
result:
ok
Test #22:
score: 0
Accepted
time: 0ms
memory: 3524kb
input:
4 2 1 1 2 2 8 8 9 9
output:
1 2 3 4
result:
ok