QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#520872 | #8650. Island Hopping | green_gold_dog# | 13 | 6ms | 4168kb | C++20 | 1.2kb | 2024-08-15 16:55:06 | 2024-08-15 16:55:06 |
Judging History
answer
#include "island.h"
#include<bits/stdc++.h>
using namespace std;
typedef int ll;
map<pair<ll, ll>, ll> mind;
ll get(ll x, ll y) {
if (mind.find(make_pair(x, y)) != mind.end()) {
return mind[make_pair(x, y)];
}
return mind[make_pair(x, y)] = query(x + 1, y + 1) - 1;
}
void ans(ll x, ll y) {
answer(x + 1, y + 1);
}
struct DSU {
vector<ll> p;
DSU(ll n) {
p.resize(n);
for (ll i = 0; i < n; i++) {
p[i] = i;
}
}
ll get(ll v) {
return (v == p[v] ? v : p[v] = get(p[v]));
}
bool unite(ll a, ll b) {
a = get(a);
b = get(b);
if (a == b) {
return false;
}
p[a] = b;
return true;
}
};
void solve(ll n, ll l) {
vector<vector<ll>> to(n);
vector<ll> col(n, 0);
ll ost = n - 1;
DSU d(n);
for (ll i = 0; i < n; i++) {
ll start = 0;
for (auto j : to[i]) {
if (j < i) {
start++;
}
}
while (start < n - 1 && start < 2 && ost > 0) {
ll x = get(i, start);
if (d.get(x) == d.get(i)) {
break;
}
if (x < i) {
break;
}
if (get(x, col[x]) == i) {
col[x]++;
ost--;
to[i].push_back(x);
to[x].push_back(i);
d.unite(x, i);
} else {
break;
}
start++;
}
}
for (ll i = 0; i < n; i++) {
for (auto j : to[i]) {
if (j > i) {
ans(i, j);
}
}
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 2
Accepted
Test #1:
score: 2
Accepted
time: 1ms
memory: 4112kb
input:
3 9 3 1 2 3 2 0 0
output:
1 1 3 1 1 2 2 1 3 2 -1 3 -2 3 0 0
result:
ok
Test #2:
score: 2
Accepted
time: 1ms
memory: 3820kb
input:
3 9 3 1 2 3 2 0 0
output:
1 1 3 1 1 2 2 1 3 2 -1 3 -2 3 0 0
result:
ok
Test #3:
score: 2
Accepted
time: 0ms
memory: 3880kb
input:
3 9 2 1 3 2 3 0 0
output:
1 1 2 1 1 2 3 1 2 2 -1 2 -2 3 0 0
result:
ok
Subtask #2:
score: 4
Accepted
Test #4:
score: 4
Accepted
time: 2ms
memory: 3812kb
input:
299 89401 79 1 213 1 242 2 286 2 192 3 244 3 69 4 227 4 99 5 233 5 29 6 244 6 272 7 277 7 54 8 83 8 67 9 149 9 72 10 276 10 163 11 278 11 196 12 226 12 216 13 239 13 60 14 268 14 225 15 293 15 101 16 113 16 43 17 159 17 23 18 219 18 63 19 222 19 89 20 213 20 38 21 59 21 97 22 134 22 101 23 167 24 23...
output:
1 1 79 1 1 2 213 1 2 1 242 1 2 2 286 1 3 1 192 1 3 2 244 1 4 1 69 1 4 2 227 1 5 1 99 1 5 2 233 1 6 1 29 1 6 2 244 2 7 1 272 1 7 2 277 1 8 1 54 1 8 2 83 1 9 1 67 1 9 2 149 1 10 1 72 1 10 2 276 1 11 1 163 1 11 2 278 1 12 1 196 1 12 2 226 1 13 1 216 1 13 2 239 1 14 1 60 1 14 2 268 1 15 1 225 1 15 2 293...
result:
ok
Test #5:
score: 4
Accepted
time: 0ms
memory: 3868kb
input:
300 90000 15 1 220 1 17 2 130 2 10 3 200 3 153 4 269 4 43 5 147 5 12 6 36 6 32 7 50 7 178 8 218 8 14 9 181 9 174 10 79 11 208 11 261 12 44 13 260 13 295 14 199 15 229 16 288 16 53 17 256 18 266 18 66 19 236 19 159 20 295 20 190 21 280 21 144 22 201 22 185 23 265 23 60 24 136 24 254 25 264 25 39 26 2...
output:
1 1 15 1 1 2 220 1 2 1 17 1 2 2 130 1 3 1 10 1 3 2 200 1 4 1 153 1 4 2 269 1 5 1 43 1 5 2 147 1 6 1 12 1 6 2 36 1 7 1 32 1 7 2 50 1 8 1 178 1 8 2 218 1 9 1 14 1 9 2 181 1 10 2 174 1 11 1 79 1 11 2 208 1 12 2 261 1 13 1 44 1 13 2 260 1 14 2 295 1 15 2 199 1 16 1 229 1 16 2 288 1 17 2 53 1 18 1 256 1 ...
result:
ok
Test #6:
score: 4
Accepted
time: 3ms
memory: 3812kb
input:
300 90000 171 1 201 1 20 2 209 2 47 3 131 3 17 4 250 4 208 5 284 5 27 6 83 6 25 7 61 7 119 8 196 8 40 9 157 9 167 10 196 10 62 11 100 11 209 12 256 12 163 13 184 13 65 14 297 14 157 15 193 15 99 16 161 16 272 17 198 18 267 18 29 19 158 19 261 20 36 21 237 21 57 22 171 22 73 23 214 23 119 24 246 24 1...
output:
1 1 171 1 1 2 201 1 2 1 20 1 2 2 209 1 3 1 47 1 3 2 131 1 4 1 17 1 4 2 250 1 5 1 208 1 5 2 284 1 6 1 27 1 6 2 83 1 7 1 25 1 7 2 61 1 8 1 119 1 8 2 196 1 9 1 40 1 9 2 157 1 10 1 167 1 10 2 196 2 11 1 62 1 11 2 100 1 12 1 209 2 12 2 256 1 13 1 163 1 13 2 184 1 14 1 65 1 14 2 297 1 15 1 157 2 15 2 193 ...
result:
ok
Test #7:
score: 4
Accepted
time: 0ms
memory: 3812kb
input:
300 90000 176 1 297 1 43 2 45 2 168 3 254 3 100 4 285 4 290 5 291 5 171 6 234 6 121 7 299 7 196 8 238 8 199 9 210 9 189 10 232 10 12 11 261 11 284 12 238 13 251 13 67 14 173 14 17 15 288 15 24 16 115 16 242 17 90 18 166 18 125 19 142 19 56 20 161 20 138 21 276 21 165 22 170 22 111 23 124 23 133 24 1...
output:
1 1 176 1 1 2 297 1 2 1 43 1 2 2 45 1 3 1 168 1 3 2 254 1 4 1 100 1 4 2 285 1 5 1 290 1 5 2 291 1 6 1 171 1 6 2 234 1 7 1 121 1 7 2 299 1 8 1 196 1 8 2 238 1 9 1 199 1 9 2 210 1 10 1 189 1 10 2 232 1 11 1 12 1 11 2 261 1 12 2 284 1 13 1 238 2 13 2 251 1 14 1 67 1 14 2 173 1 15 1 17 1 15 2 288 1 16 1...
result:
ok
Test #8:
score: 4
Accepted
time: 5ms
memory: 3884kb
input:
300 90000 96 1 162 1 28 2 282 2 19 3 239 3 107 4 161 4 160 5 165 5 259 6 271 6 34 7 90 7 114 8 169 8 78 9 188 9 92 10 146 10 219 11 226 11 100 12 258 12 61 13 140 13 129 14 174 14 44 15 251 15 196 16 283 16 39 17 199 17 125 18 154 18 127 19 24 20 300 20 73 21 205 21 77 22 171 22 130 23 193 23 68 24 ...
output:
1 1 96 1 1 2 162 1 2 1 28 1 2 2 282 1 3 1 19 1 3 2 239 1 4 1 107 1 4 2 161 1 5 1 160 1 5 2 165 1 6 1 259 1 6 2 271 1 7 1 34 1 7 2 90 1 8 1 114 1 8 2 169 1 9 1 78 1 9 2 188 1 10 1 92 1 10 2 146 1 11 1 219 1 11 2 226 1 12 1 100 1 12 2 258 1 13 1 61 1 13 2 140 1 14 1 129 1 14 2 174 1 15 1 44 1 15 2 251...
result:
ok
Subtask #3:
score: 7
Accepted
Test #9:
score: 7
Accepted
time: 0ms
memory: 4164kb
input:
299 598 43 1 151 1 91 2 119 2 7 3 130 3 115 4 139 4 50 5 109 5 157 6 176 6 181 7 106 8 138 8 147 9 235 9 44 10 197 10 31 11 64 11 150 12 210 12 195 13 271 13 113 14 196 14 265 15 295 15 171 16 251 16 47 17 145 17 103 18 106 18 35 19 270 19 199 20 259 20 27 21 283 21 70 22 144 22 274 23 298 23 82 24 ...
output:
1 1 43 1 1 2 151 1 2 1 91 1 2 2 119 1 3 1 7 1 3 2 130 1 4 1 115 1 4 2 139 1 5 1 50 1 5 2 109 1 6 1 157 1 6 2 176 1 7 2 181 1 8 1 106 1 8 2 138 1 9 1 147 1 9 2 235 1 10 1 44 1 10 2 197 1 11 1 31 1 11 2 64 1 12 1 150 1 12 2 210 1 13 1 195 1 13 2 271 1 14 1 113 1 14 2 196 1 15 1 265 1 15 2 295 1 16 1 1...
result:
ok
Test #10:
score: 7
Accepted
time: 0ms
memory: 3816kb
input:
300 600 26 1 95 1 33 2 74 2 65 3 160 3 25 4 186 4 30 5 158 5 147 6 251 6 152 7 226 7 62 8 178 8 55 9 226 9 96 10 228 10 61 11 256 11 135 12 234 12 103 13 172 13 165 14 203 14 40 15 109 15 107 16 176 16 78 17 272 17 215 18 299 18 92 19 110 19 50 20 108 20 112 21 200 21 56 22 229 22 48 23 282 23 68 24...
output:
1 1 26 1 1 2 95 1 2 1 33 1 2 2 74 1 3 1 65 1 3 2 160 1 4 1 25 1 4 2 186 1 5 1 30 1 5 2 158 1 6 1 147 1 6 2 251 1 7 1 152 1 7 2 226 1 8 1 62 1 8 2 178 1 9 1 55 1 9 2 226 2 10 1 96 1 10 2 228 1 11 1 61 1 11 2 256 1 12 1 135 1 12 2 234 1 13 1 103 1 13 2 172 1 14 1 165 1 14 2 203 1 15 1 40 1 15 2 109 1 ...
result:
ok
Test #11:
score: 7
Accepted
time: 3ms
memory: 3872kb
input:
300 600 44 1 267 1 251 2 287 2 33 3 141 3 107 4 235 4 74 5 244 5 15 6 139 6 118 7 198 7 34 8 76 8 40 9 227 9 138 10 211 10 43 11 274 11 18 12 279 12 58 13 77 13 49 14 83 14 171 15 108 16 166 16 109 17 165 17 60 18 158 19 295 19 253 20 282 20 32 21 94 21 87 22 275 22 131 23 143 23 68 24 277 24 156 25...
output:
1 1 44 1 1 2 267 1 2 1 251 1 2 2 287 1 3 1 33 1 3 2 141 1 4 1 107 1 4 2 235 1 5 1 74 1 5 2 244 1 6 1 15 1 6 2 139 1 7 1 118 1 7 2 198 1 8 1 34 1 8 2 76 1 9 1 40 1 9 2 227 1 10 1 138 1 10 2 211 1 11 1 43 1 11 2 274 1 12 1 18 1 12 2 279 1 13 1 58 1 13 2 77 1 14 1 49 1 14 2 83 1 15 2 171 1 16 1 108 1 1...
result:
ok
Test #12:
score: 7
Accepted
time: 2ms
memory: 3884kb
input:
300 600 30 1 281 1 176 2 216 2 7 3 51 3 130 4 241 4 137 5 179 5 275 6 297 6 144 7 59 8 157 8 118 9 274 9 35 10 148 10 33 11 141 11 37 12 85 12 171 13 279 13 43 14 217 14 136 15 152 15 105 16 161 16 195 17 199 17 41 18 299 18 47 19 240 19 47 20 139 20 146 21 171 21 279 22 291 22 193 23 204 23 260 24 ...
output:
1 1 30 1 1 2 281 1 2 1 176 1 2 2 216 1 3 1 7 1 3 2 51 1 4 1 130 1 4 2 241 1 5 1 137 1 5 2 179 1 6 1 275 1 6 2 297 1 7 2 144 1 8 1 59 1 8 2 157 1 9 1 118 1 9 2 274 1 10 1 35 1 10 2 148 1 11 1 33 1 11 2 141 1 12 1 37 1 12 2 85 1 13 1 171 1 13 2 279 1 14 1 43 1 14 2 217 1 15 1 136 1 15 2 152 1 16 1 105...
result:
ok
Test #13:
score: 7
Accepted
time: 3ms
memory: 3948kb
input:
300 600 75 1 115 1 203 2 228 2 242 3 298 3 122 4 269 4 165 5 260 5 66 6 295 6 35 7 89 7 36 8 125 8 179 9 281 9 190 10 230 10 64 11 148 11 18 12 218 12 80 13 84 13 22 14 158 14 103 15 248 15 45 16 208 16 21 17 91 17 272 18 72 19 228 19 258 20 292 20 85 21 248 22 119 23 298 23 49 24 279 24 119 25 203 ...
output:
1 1 75 1 1 2 115 1 2 1 203 1 2 2 228 1 3 1 242 1 3 2 298 1 4 1 122 1 4 2 269 1 5 1 165 1 5 2 260 1 6 1 66 1 6 2 295 1 7 1 35 1 7 2 89 1 8 1 36 1 8 2 125 1 9 1 179 1 9 2 281 1 10 1 190 1 10 2 230 1 11 1 64 1 11 2 148 1 12 1 18 1 12 2 218 1 13 1 80 1 13 2 84 1 14 1 22 1 14 2 158 1 15 1 103 1 15 2 248 ...
result:
ok
Test #14:
score: 7
Accepted
time: 6ms
memory: 4168kb
input:
300 600 232 1 264 1 70 2 250 2 26 3 223 3 187 4 296 4 129 5 240 5 145 6 166 6 177 7 274 7 117 8 214 8 162 9 238 9 190 10 212 10 93 11 242 11 20 12 112 12 54 13 258 13 67 14 147 14 135 15 200 15 83 16 155 16 169 17 201 17 116 18 182 18 233 19 245 19 183 20 180 21 225 21 63 22 275 22 67 23 77 23 95 24...
output:
1 1 232 1 1 2 264 1 2 1 70 1 2 2 250 1 3 1 26 1 3 2 223 1 4 1 187 1 4 2 296 1 5 1 129 1 5 2 240 1 6 1 145 1 6 2 166 1 7 1 177 1 7 2 274 1 8 1 117 1 8 2 214 1 9 1 162 1 9 2 238 1 10 1 190 1 10 2 212 1 11 1 93 1 11 2 242 1 12 1 20 1 12 2 112 1 13 1 54 1 13 2 258 1 14 1 67 1 14 2 147 1 15 1 135 1 15 2 ...
result:
ok
Subtask #4:
score: 0
Wrong Answer
Test #15:
score: 0
Wrong Answer
time: 0ms
memory: 3872kb
input:
299 89401 29 1 35 1 153 2 230 2 166 3 181 3 54 4 266 4 65 5 159 5 75 6 176 6 166 7 241 7 9 8 83 8 250 9 88 10 141 10 19 11 68 19 193 12 224 12 154 13 215 13 26 14 228 14 73 15 221 15 271 16 50 53 231 17 239 17 44 18 107 18 68 265 20 269 20 264 21 275 21 83 22 289 22 111 23 234 23 179 24 262 24 41 25...
output:
1 1 29 1 1 2 35 1 2 1 153 1 2 2 230 1 3 1 166 1 3 2 181 1 4 1 54 1 4 2 266 1 5 1 65 1 5 2 159 1 6 1 75 1 6 2 176 1 7 1 166 2 7 2 241 1 8 1 9 1 8 2 83 1 9 2 250 1 10 1 88 1 10 2 141 1 11 1 19 1 11 2 68 1 12 1 193 1 12 2 224 1 13 1 154 1 13 2 215 1 14 1 26 1 14 2 228 1 15 1 73 1 15 2 221 1 16 1 271 1 ...
result:
wrong answer Wrong Answer [7]
Subtask #5:
score: 0
Wrong Answer
Test #23:
score: 0
Wrong Answer
time: 5ms
memory: 3944kb
input:
299 897 140 1 269 1 39 2 121 2 67 3 86 3 214 4 262 4 234 5 244 5 122 6 146 6 174 7 240 7 227 8 237 8 206 9 281 9 65 10 275 10 41 11 254 11 211 12 272 12 117 13 199 13 51 14 165 14 152 15 207 15 195 16 235 16 28 17 225 17 143 18 231 18 127 19 156 19 64 20 166 20 144 21 194 21 119 22 196 22 201 23 298...
output:
1 1 140 1 1 2 269 1 2 1 39 1 2 2 121 1 3 1 67 1 3 2 86 1 4 1 214 1 4 2 262 1 5 1 234 1 5 2 244 1 6 1 122 1 6 2 146 1 7 1 174 1 7 2 240 1 8 1 227 1 8 2 237 1 9 1 206 1 9 2 281 1 10 1 65 1 10 2 275 1 11 1 41 1 11 2 254 1 12 1 211 1 12 2 272 1 13 1 117 1 13 2 199 1 14 1 51 1 14 2 165 1 15 1 152 1 15 2 ...
result:
wrong answer Wrong Answer [7]
Subtask #6:
score: 0
Wrong Answer
Test #32:
score: 0
Wrong Answer
time: 5ms
memory: 3868kb
input:
300 90000 133 1 179 1 82 2 47 82 65 3 165 65 266 4 283 4 29 5 40 5 24 6 35 6 28 7 234 7 86 8 199 86 186 9 299 54 109 10 231 10 29 11 221 11 105 12 112 12 128 13 277 13 117 14 126 14 108 15 231 108 247 16 118 77 131 12 234 18 7 94 19 210 19 141 20 181 20 160 21 197 21 26 22 208 22 219 23 235 104 268 ...
output:
1 1 133 1 1 2 179 1 2 1 82 1 2 2 47 1 3 1 65 1 3 2 165 1 4 1 266 1 4 2 283 1 5 1 29 1 5 2 40 1 6 1 24 1 6 2 35 1 7 1 28 1 7 2 234 1 8 1 86 1 8 2 199 1 9 1 186 1 9 2 299 1 10 1 109 1 10 2 231 1 11 1 29 2 11 2 221 1 12 1 105 1 12 2 112 1 13 1 128 1 13 2 277 1 14 1 117 1 14 2 126 1 15 1 108 1 15 2 231 ...
result:
wrong answer Wrong Answer [7]
Subtask #7:
score: 0
Wrong Answer
Test #58:
score: 0
Wrong Answer
time: 2ms
memory: 3864kb
input:
300 900 201 1 228 1 88 2 262 88 97 3 104 3 35 4 183 4 96 5 98 5 70 6 138 6 60 7 141 7 23 8 80 8 46 9 51 39 76 10 171 10 43 11 180 11 69 12 203 12 141 13 173 13 95 14 168 91 159 15 166 132 264 16 89 110 196 17 233 17 119 18 293 18 32 19 191 19 176 20 30 106 235 21 261 21 152 22 230 22 80 67 24 247 24...
output:
1 1 201 1 1 2 228 1 2 1 88 1 2 2 262 1 3 1 97 1 3 2 104 1 4 1 35 1 4 2 183 1 5 1 96 1 5 2 98 1 6 1 70 1 6 2 138 1 7 1 60 1 7 2 141 1 8 1 23 1 8 2 80 1 9 1 46 1 9 2 51 1 10 1 76 1 10 2 171 1 11 1 43 1 11 2 180 1 12 1 69 1 12 2 203 1 13 1 141 2 13 2 173 1 14 1 95 1 14 2 168 1 15 1 159 1 15 2 166 1 16 ...
result:
wrong answer Wrong Answer [7]
Subtask #8:
score: 0
Wrong Answer
Test #84:
score: 0
Wrong Answer
time: 0ms
memory: 3944kb
input:
299 598 86 1 94 1 79 2 228 2 49 3 166 3 124 4 138 83 257 5 262 5 51 6 129 6 214 7 55 51 20 8 206 8 50 9 64 9 177 10 262 77 200 11 209 11 238 12 150 35 66 13 223 13 15 14 92 15 92 38 16 68 38 229 17 254 187 175 18 263 18 193 19 31 91 28 20 148 21 33 148 45 22 197 45 234 23 160 222 32 24 105 9 231 25 ...
output:
1 1 86 1 1 2 94 1 2 1 79 1 2 2 228 1 3 1 49 1 3 2 166 1 4 1 124 1 4 2 138 1 5 1 257 1 5 2 262 1 6 1 51 1 6 2 129 1 7 1 214 1 7 2 55 1 8 1 20 1 8 2 206 1 9 1 50 1 9 2 64 1 10 1 177 1 10 2 262 2 11 1 200 1 11 2 209 1 12 1 238 1 12 2 150 1 13 1 66 1 13 2 223 1 14 1 15 1 14 2 92 1 15 2 16 1 38 1 16 2 68...
result:
wrong answer Wrong Answer [7]