| Task: | Island |
| Sender: | Daniel_1997 |
| Submission time: | 2026-04-16 13:48:46 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 16 |
| subtask | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | ACCEPTED | 16 |
| #4 | WRONG ANSWER | 0 |
| #5 | WRONG ANSWER | 0 |
| test | verdict | time | subtask | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.01 s | 1, 5 | details |
| #2 | ACCEPTED | 0.01 s | 1, 2, 3, 4, 5 | details |
| #3 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #4 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #5 | ACCEPTED | 0.02 s | 1, 3, 5 | details |
| #6 | WRONG ANSWER | 0.02 s | 1, 2, 4, 5 | details |
| #7 | WRONG ANSWER | 0.02 s | 1, 2, 4, 5 | details |
| #8 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #9 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #10 | ACCEPTED | 0.02 s | 1, 3, 4, 5 | details |
| #11 | ACCEPTED | 0.02 s | 1, 3, 5 | details |
| #12 | WRONG ANSWER | 0.02 s | 1, 4, 5 | details |
| #13 | ACCEPTED | 0.02 s | 1, 3, 4, 5 | details |
| #14 | ACCEPTED | 0.02 s | 1, 4, 5 | details |
| #15 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #16 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #17 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #18 | WRONG ANSWER | 0.02 s | 1, 5 | details |
| #19 | WRONG ANSWER | 0.51 s | 2, 4, 5 | details |
| #20 | WRONG ANSWER | 0.50 s | 2, 4, 5 | details |
| #21 | WRONG ANSWER | 0.51 s | 2, 4, 5 | details |
| #22 | WRONG ANSWER | 0.69 s | 2, 4, 5 | details |
| #23 | ACCEPTED | 0.53 s | 3, 5 | details |
| #24 | ACCEPTED | 0.53 s | 3, 5 | details |
| #25 | ACCEPTED | 0.53 s | 3, 5 | details |
| #26 | ACCEPTED | 0.47 s | 3, 5 | details |
| #27 | ACCEPTED | 0.46 s | 3, 4, 5 | details |
| #28 | ACCEPTED | 0.36 s | 3, 4, 5 | details |
| #29 | WRONG ANSWER | 0.47 s | 4, 5 | details |
| #30 | WRONG ANSWER | 0.48 s | 4, 5 | details |
| #31 | WRONG ANSWER | 0.65 s | 4, 5 | details |
| #32 | WRONG ANSWER | 0.66 s | 4, 5 | details |
| #33 | WRONG ANSWER | 0.66 s | 4, 5 | details |
| #34 | ACCEPTED | 0.38 s | 4, 5 | details |
| #35 | WRONG ANSWER | 0.56 s | 5 | details |
| #36 | WRONG ANSWER | 0.56 s | 5 | details |
| #37 | WRONG ANSWER | 0.56 s | 5 | details |
| #38 | WRONG ANSWER | 0.56 s | 5 | details |
| #39 | WRONG ANSWER | 0.60 s | 5 | details |
| #40 | WRONG ANSWER | 0.59 s | 5 | details |
| #41 | WRONG ANSWER | 0.57 s | 5 | details |
| #42 | WRONG ANSWER | 0.58 s | 5 | details |
| #43 | WRONG ANSWER | 0.59 s | 5 | details |
| #44 | WRONG ANSWER | 0.59 s | 5 | details |
Code
#include <bits/stdc++.h>
using namespace std;
#define fr first
#define sc second
#define pb push_back
#define int long long
#define all(x) x.begin(), x.end()
#define ios ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0)
const int oo = 1e18;
const int mod = 1e8 + 7;
const int my[8]={0, 0, 1, -1, 1, 1, -1, -1};
const int mx[8]={1, -1, 0, 0, 1, -1, -1, 1};
const int N = 1001;
vector<vector<bool> > visi(N + 1, vector<bool> (N + 1, 0));
vector<vector<int> > id(N + 1, vector<int> (N + 1, 0));
vector<int> d(N + 1,0);
vector<int> p(N + 1,0);
void bfs(int x1, int y1, const int& n, const vector<string>& v)
{
queue<pair<int,int> > q;
visi[x1][y1] = 1;
q.push({x1, y1});
while(!q.empty())
{
auto [x,y] = q.front();q.pop();
for(int i = 0; i < 4; i++)
{
int nx = x + mx[i];
int ny = y + my[i];
if(nx >= 1 && ny >= 1 && nx <= n && ny <= n && !visi[nx][ny] && v[nx][ny] != '.')
{
d[id[nx][ny]] = d[id[x][y]] + 1;
visi[nx][ny] = 1;
p[id[nx][ny]] = id[x][y];
q.push({nx, ny});
}
}
}
}
struct infeliz {
vector<vector<int> >bl;
infeliz(int n, const vector<int>& f)
{
bl.assign(31, vector<int>(n + 1));
bl[0] = f;
for(int i = 1; i <= 29; i++)
{
for(int j = 1; j <= n; j++)
{
bl[i][j] = bl[i - 1][bl[i - 1][j]];
}
}
}
int lca(int a,int b)
{
if(a == b) {
return a;
}
if(d[a] > d[b]) {
swap(a,b);
}
int dist = abs(d[a] - d[b]);
for(int i = 0; i < 27; i++)
{
if(dist & (1 << i)) {
b = bl[i][b];
}
}
//cout << a << " " << b << endl;
if(a == b) {
return a;
}
for(int i = 26; i >= 0; i--) {
int x = bl[i][a];
int y = bl[i][b];
if(x == y)continue;
a = x;
b = y;
}
return bl[0][a];
}
};
void solve() {
int n, q;
cin >> n >> q;
vector<string> v(n + 1);
int ct = 0;
for(int i = 1; i <= n; i++)
{
cin >> v[i];
v[i] = '0' + v[i];
for(int j = 1; j <= n; j++)
{
if(v[i][j] == '#')
{
id[i][j] = ct;
//cerr << id[i][j] << endl;
ct++;
}
}
}
d.assign(ct + 1,0);
p.assign(ct + 1,0);
bool f = 0;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
if(v[i][j] == '#')
{
p[id[i][j]] = id[i][j];
f = 1;
bfs(i, j, n, v);
break;
}
}
if(f)break;
}
infeliz B(ct, p);
while(q--)
{
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
int a = id[x1][y1];
int b = id[x2][y2];
int pa = B.lca(a,b);
cout << abs(d[pa] - d[a]) + abs(d[pa] - d[b]) << endl;
}
}
int32_t main() {
ios;
int t = 1;
//cin >> t;
while(t--)solve();
}
Test details
Test 1
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 8 4 ........ ..####.. .##.###. .##.###. ... |
| correct output |
|---|
| 5 0 17 3 |
| user output |
|---|
| 5 0 17 5 |
Feedback: Incorrect character on line 4 col 1: expected "3", got "5"
Test 2
Subtask: 1, 2, 3, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 3 1 ... .#. ... 2 2 2 2 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 3
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 199 196 ................................. |
| correct output |
|---|
| 468 605 825 532 496 ... |
| user output |
|---|
| 468 605 825 532 496 ... |
Feedback: Incorrect character on line 9 col 3: expected "205", got "207"
Test 4
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 112 347 142 459 239 ... |
| user output |
|---|
| 114 353 142 459 249 ... |
Feedback: Incorrect character on line 1 col 3: expected "112", got "114"
Test 5
Subtask: 1, 3, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 381 544 94 532 98 ... |
| user output |
|---|
| 381 544 94 532 98 ... |
Test 6
Subtask: 1, 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 133 73 81 82 53 ... |
| user output |
|---|
| 205 235 209 132 75 ... |
Feedback: Incorrect character on line 1 col 1: expected "133", got "205"
Test 7
Subtask: 1, 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 139 52 101 14 144 ... |
| user output |
|---|
| 139 132 227 92 280 ... |
Feedback: Incorrect character on line 2 col 1: expected "52", got "132"
Test 8
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 236 555 878 632 829 ... |
| user output |
|---|
| 236 555 878 638 829 ... |
Feedback: Incorrect character on line 4 col 3: expected "632", got "638"
Test 9
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 425 296 698 577 422 ... |
| user output |
|---|
| 425 296 698 577 422 ... |
Feedback: Incorrect character on line 40 col 1: expected "68", got "70"
Test 10
Subtask: 1, 3, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1365 7284 11808 6136 9283 ... |
| user output |
|---|
| 1365 7284 11808 6136 9283 ... |
Test 11
Subtask: 1, 3, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 6292 17954 16728 8938 1335 ... |
| user output |
|---|
| 6292 17954 16728 8938 1335 ... |
Test 12
Subtask: 1, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 27 141 269 127 61 ... |
| user output |
|---|
| 171 141 269 127 89 ... |
Feedback: Incorrect character on line 1 col 1: expected "27", got "171"
Test 13
Subtask: 1, 3, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 19552 19544 19478 19402 19456 ... |
| user output |
|---|
| 19552 19544 19478 19402 19456 ... |
Test 14
Subtask: 1, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 17624 17515 17468 17689 17510 ... |
| user output |
|---|
| 17624 17515 17468 17689 17510 ... |
Test 15
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1584 1433 567 2248 1030 ... |
| user output |
|---|
| 1586 1433 567 2248 1032 ... |
Feedback: Incorrect character on line 1 col 4: expected "1584", got "1586"
Test 16
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 5872 6374 60 323 5311 ... |
| user output |
|---|
| 5876 6374 60 327 5311 ... |
Feedback: Incorrect character on line 1 col 4: expected "5872", got "5876"
Test 17
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1852 213 252 3861 1835 ... |
| user output |
|---|
| 1852 215 252 3861 1843 ... |
Feedback: Incorrect character on line 2 col 3: expected "213", got "215"
Test 18
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1564 2709 866 1318 1758 ... |
| user output |
|---|
| 1564 2711 866 1318 1758 ... |
Feedback: Incorrect character on line 2 col 3: expected "2709", got "2711"
Test 19
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 150 531 370 518 508 ... |
| user output |
|---|
| 284 531 474 518 508 ... |
Feedback: Incorrect character on line 1 col 1: expected "150", got "284"
Test 20
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 390 278 783 1269 249 ... |
| user output |
|---|
| 850 928 1431 1401 1371 ... |
Feedback: Incorrect character on line 1 col 1: expected "390", got "850"
Test 21
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 63 142 813 683 731 ... |
| user output |
|---|
| 349 1086 831 765 1107 ... |
Feedback: Incorrect character on line 1 col 1: expected "63", got "349"
Test 22
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 949 876 1209 494 1033 ... |
| user output |
|---|
| 1081 2094 1427 1684 1107 ... |
Feedback: Incorrect character on line 1 col 1: expected "949", got "1081"
Test 23
Subtask: 3, 5
Verdict: ACCEPTED
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 714 2683 3699 2085 7850 ... |
| user output |
|---|
| 714 2683 3699 2085 7850 ... |
Test 24
Subtask: 3, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5081 1819 1050 4610 528 ... |
| user output |
|---|
| 5081 1819 1050 4610 528 ... |
Test 25
Subtask: 3, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3554 6322 6648 2882 1490 ... |
| user output |
|---|
| 3554 6322 6648 2882 1490 ... |
Test 26
Subtask: 3, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 433976 81646 87810 48080 110879 ... |
| user output |
|---|
| 433976 81646 87810 48080 110879 ... |
Test 27
Subtask: 3, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 207982 140036 208364 51912 56826 ... |
| user output |
|---|
| 207982 140036 208364 51912 56826 ... |
Test 28
Subtask: 3, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 497525 497563 498000 496804 497335 ... |
| user output |
|---|
| 497525 497563 498000 496804 497335 ... |
Test 29
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 38580 2097 9795 38033 1639 ... |
| user output |
|---|
| 38580 2097 9795 38441 1639 ... |
Feedback: Incorrect character on line 4 col 3: expected "38033", got "38441"
Test 30
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 33 20900 25028 1782 13599 ... |
| user output |
|---|
| 169 20900 25028 1782 13789 ... |
Feedback: Incorrect character on line 1 col 1: expected "33", got "169"
Test 31
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1421 1122 1840 834 443 ... |
| user output |
|---|
| 1421 1176 1840 1230 535 ... |
Feedback: Incorrect character on line 2 col 3: expected "1122", got "1176"
Test 32
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1378 1751 2274 250 811 ... |
| user output |
|---|
| 1482 1751 2274 1054 1119 ... |
Feedback: Incorrect character on line 1 col 2: expected "1378", got "1482"
Test 33
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1126 886 544 223 272 ... |
| user output |
|---|
| 1162 886 560 567 272 ... |
Feedback: Incorrect character on line 1 col 3: expected "1126", got "1162"
Test 34
Subtask: 4, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 327286 447779 447534 448307 446997 ... |
| user output |
|---|
| 327286 447779 447534 448307 446997 ... |
Test 35
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 2597 1473 1933 2691 1837 ... |
| user output |
|---|
| 2599 1473 1933 2691 1837 ... |
Feedback: Incorrect character on line 1 col 4: expected "2597", got "2599"
Test 36
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 553 4357 3147 6951 1573 ... |
| user output |
|---|
| 553 4357 3147 6951 1573 ... |
Feedback: Incorrect character on line 8 col 4: expected "3725", got "3727"
Test 37
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1723 2039 1871 5638 4256 ... |
| user output |
|---|
| 1725 2039 1873 5638 4256 ... |
Feedback: Incorrect character on line 1 col 4: expected "1723", got "1725"
Test 38
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1546 704 2796 3802 1870 ... |
| user output |
|---|
| 1546 704 2796 3802 1872 ... |
Feedback: Incorrect character on line 5 col 4: expected "1870", got "1872"
Test 39
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3115 2042 2083 3227 740 ... |
| user output |
|---|
| 3115 2042 2087 3235 752 ... |
Feedback: Incorrect character on line 3 col 4: expected "2083", got "2087"
Test 40
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5222 3211 5230 1772 2310 ... |
| user output |
|---|
| 5222 3217 5234 1772 2314 ... |
Feedback: Incorrect character on line 2 col 4: expected "3211", got "3217"
Test 41
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 159214 68851 200821 141404 145704 ... |
| user output |
|---|
| 159214 68851 200823 141404 145706 ... |
Feedback: Incorrect character on line 3 col 6: expected "200821", got "200823"
Test 42
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1843 25028 124430 84542 131339 ... |
| user output |
|---|
| 1843 25028 124430 84544 131339 ... |
Feedback: Incorrect character on line 4 col 5: expected "84542", got "84544"
Test 43
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 111206 75799 12026 142133 20483 ... |
| user output |
|---|
| 111210 75799 12026 142133 20483 ... |
Feedback: Incorrect character on line 1 col 5: expected "111206", got "111210"
Test 44
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 20360 9075 12187 54923 54574 ... |
| user output |
|---|
| 20360 9075 12187 54923 54574 ... |
Feedback: Incorrect character on line 8 col 4: expected "43127", got "43131"
