| Task: | Island |
| Sender: | jsesok |
| Submission time: | 2026-10-15 13:34:57 +0300 |
| Language: | C++ (C++23) |
| 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 | ACCEPTED | 0.00 s | 1, 5 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5 | details |
| #3 | WRONG ANSWER | 0.04 s | 1, 5 | details |
| #4 | WRONG ANSWER | 0.04 s | 1, 5 | details |
| #5 | ACCEPTED | 0.03 s | 1, 3, 5 | details |
| #6 | WRONG ANSWER | 0.03 s | 1, 2, 4, 5 | details |
| #7 | WRONG ANSWER | 0.03 s | 1, 2, 4, 5 | details |
| #8 | WRONG ANSWER | 0.03 s | 1, 5 | details |
| #9 | WRONG ANSWER | 0.03 s | 1, 5 | details |
| #10 | ACCEPTED | 0.03 s | 1, 3, 4, 5 | details |
| #11 | ACCEPTED | 0.03 s | 1, 3, 5 | details |
| #12 | WRONG ANSWER | 0.04 s | 1, 4, 5 | details |
| #13 | ACCEPTED | 0.03 s | 1, 3, 4, 5 | details |
| #14 | WRONG ANSWER | 0.03 s | 1, 4, 5 | details |
| #15 | WRONG ANSWER | 0.04 s | 1, 5 | details |
| #16 | WRONG ANSWER | 0.04 s | 1, 5 | details |
| #17 | WRONG ANSWER | 0.04 s | 1, 5 | details |
| #18 | WRONG ANSWER | 0.04 s | 1, 5 | details |
| #19 | WRONG ANSWER | 0.95 s | 2, 4, 5 | details |
| #20 | WRONG ANSWER | 0.90 s | 2, 4, 5 | details |
| #21 | WRONG ANSWER | 0.97 s | 2, 4, 5 | details |
| #22 | WRONG ANSWER | 1.34 s | 2, 4, 5 | details |
| #23 | ACCEPTED | 0.97 s | 3, 5 | details |
| #24 | ACCEPTED | 1.00 s | 3, 5 | details |
| #25 | ACCEPTED | 0.96 s | 3, 5 | details |
| #26 | ACCEPTED | 1.01 s | 3, 5 | details |
| #27 | ACCEPTED | 0.84 s | 3, 4, 5 | details |
| #28 | ACCEPTED | 0.74 s | 3, 4, 5 | details |
| #29 | WRONG ANSWER | 0.80 s | 4, 5 | details |
| #30 | WRONG ANSWER | 0.79 s | 4, 5 | details |
| #31 | WRONG ANSWER | 1.21 s | 4, 5 | details |
| #32 | WRONG ANSWER | 1.17 s | 4, 5 | details |
| #33 | WRONG ANSWER | 1.31 s | 4, 5 | details |
| #34 | WRONG ANSWER | 0.76 s | 4, 5 | details |
| #35 | WRONG ANSWER | 1.01 s | 5 | details |
| #36 | WRONG ANSWER | 1.00 s | 5 | details |
| #37 | WRONG ANSWER | 1.01 s | 5 | details |
| #38 | WRONG ANSWER | 1.01 s | 5 | details |
| #39 | WRONG ANSWER | 1.07 s | 5 | details |
| #40 | WRONG ANSWER | 1.07 s | 5 | details |
| #41 | WRONG ANSWER | 1.28 s | 5 | details |
| #42 | WRONG ANSWER | 1.25 s | 5 | details |
| #43 | WRONG ANSWER | 1.24 s | 5 | details |
| #44 | WRONG ANSWER | 1.19 s | 5 | details |
Code
#include <iostream>
#include <vector>
#include <tuple>
#include <algorithm>
#include <numeric>
#include <queue>
#include <climits>
#include <map>
#include <unordered_map>
#include <stack>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
int n, q, x, y, x2, y2, sum, r, st;
pair<int, int> s, num;
cin>>n>>q;
vector<vector<char>> a(n, vector<char> (n));
for (int i=0; i<n; ++i)
{
for (int j=0; j<n; ++j)
{
cin>>a[i][j];
if (a[i][j]=='#')
{
s={i, j};
}
}
}
queue<pair<int, int>> qu;
vector<vector<int>> d(n, vector<int> (n, -1));
vector<vector<vector<pair<int, int>>>> p(n, vector<vector<pair<int, int>>> (n, vector<pair<int, int>> (30, {-1, -1})));
vector<vector<vector<pair<int, int>>>> g(n, vector<vector<pair<int, int>>> (n));
for (int i=1; i<n-1; ++i)
{
for (int j=1; j<n-1; ++j)
{
if (a[i][j]=='#')
{
if (a[i][j+1]=='#')
{
g[i][j].push_back({i, j+1});
}
if (a[i][j-1]=='#')
{
g[i][j].push_back({i, j-1});
}
if (a[i+1][j]=='#')
{
g[i][j].push_back({i+1, j});
}
if (a[i-1][j]=='#')
{
g[i][j].push_back({i-1, j});
}
}
}
}
d[s.first][s.second]=0;
p[s.first][s.second][0]=s;
qu.push(s);
while (!qu.empty())
{
for (auto [x, y] : g[qu.front().first][qu.front().second])
{
if (d[x][y]==-1)
{
d[x][y]=d[qu.front().first][qu.front().second]+1;
p[x][y][0]={qu.front().first, qu.front().second};
qu.push({x, y});
}
}
qu.pop();
}
for (int i=1; i<30; ++i)
{
for (int j=0; j<n; ++j)
{
for (int z=0; z<n; ++z)
{
if (a[j][z]=='#')
{
p[j][z][i]=p[p[j][z][i-1].first][p[j][z][i-1].second][i-1];
}
}
}
}
for (int i=0; i<q; ++i)
{
cin>>x>>y>>x2>>y2;
x-=1;
y-=1;
x2-=1;
y2-=1;
if (d[x][y]<d[x2][y2])
{
swap(x, x2);
swap(y, y2);
}
st=1;
for (int j=0; j<29; ++j)
st*=2;
r=d[x][y]-d[x2][y2];
sum=r;
for (int j=29; j>=0; --j)
{
if (st<=r)
{
r-=st;
num=p[x][y][j];
x=num.first;
y=num.second;
}
st/=2;
}
st=1;
for (int j=0; j<29; ++j)
st*=2;
for (int j=29; j>=0; --j)
{
if (p[x][y][j]!=p[x2][y2][j])
{
sum+=st*2;
num=p[x][y][j];
x=num.first;
y=num.second;
num=p[x2][y2][j];
x2=num.first;
y2=num.second;
}
st/=2;
}
if (x==x2 && y==y2)
cout<<sum<<"\n";
else
{
cout<<sum+2<<"\n";
}
}
return 0;
}
Test details
Test 1
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 8 4 ........ ..####.. .##.###. .##.###. ... |
| correct output |
|---|
| 5 0 17 3 |
| user output |
|---|
| 5 0 17 3 |
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 607 825 536 496 ... |
Feedback: Incorrect character on line 2 col 3: expected "605", got "607"
Test 4
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 112 347 142 459 239 ... |
| user output |
|---|
| 116 347 162 459 239 ... |
Feedback: Incorrect character on line 1 col 3: expected "112", got "116"
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 |
|---|
| 225 153 109 238 301 ... |
Feedback: Incorrect character on line 1 col 1: expected "133", got "225"
Test 7
Subtask: 1, 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 139 52 101 14 144 ... |
| user output |
|---|
| 195 224 239 32 178 ... |
Feedback: Incorrect character on line 1 col 2: expected "139", got "195"
Test 8
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 236 555 878 632 829 ... |
| user output |
|---|
| 236 555 878 632 829 ... |
Feedback: Incorrect character on line 13 col 3: expected "160", got "162"
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 84 col 1: expected "493", got "501"
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 |
|---|
| 323 169 289 227 129 ... |
Feedback: Incorrect character on line 1 col 1: expected "27", got "323"
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: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 17624 17515 17468 17689 17510 ... |
| user output |
|---|
| 17624 17515 17468 17689 17510 ... |
Feedback: Incorrect character on line 54 col 3: expected "3809", got "3813"
Test 15
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1584 1433 567 2248 1030 ... |
| user output |
|---|
| 1584 1731 835 2248 1362 ... |
Feedback: Incorrect character on line 2 col 2: expected "1433", got "1731"
Test 16
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 5872 6374 60 323 5311 ... |
| user output |
|---|
| 5882 6374 60 351 5329 ... |
Feedback: Incorrect character on line 1 col 3: expected "5872", got "5882"
Test 17
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1852 213 252 3861 1835 ... |
| user output |
|---|
| 1852 223 252 3861 1837 ... |
Feedback: Incorrect character on line 2 col 2: expected "213", got "223"
Test 18
Subtask: 1, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1564 2709 866 1318 1758 ... |
| user output |
|---|
| 1564 2715 870 1326 1758 ... |
Feedback: Incorrect character on line 2 col 3: expected "2709", got "2715"
Test 19
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 150 531 370 518 508 ... |
| user output |
|---|
| 286 1421 640 1112 930 ... |
Feedback: Incorrect character on line 1 col 1: expected "150", got "286"
Test 20
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 390 278 783 1269 249 ... |
| user output |
|---|
| 460 896 1071 1805 585 ... |
Feedback: Incorrect character on line 1 col 1: expected "390", got "460"
Test 21
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 63 142 813 683 731 ... |
| user output |
|---|
| 1199 434 1187 1369 1203 ... |
Feedback: Incorrect character on line 1 col 1: expected "63", got "1199"
Test 22
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 949 876 1209 494 1033 ... |
| user output |
|---|
| 1053 1344 1643 1344 1659 ... |
Feedback: Incorrect character on line 1 col 1: expected "949", got "1053"
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 |
|---|
| 38582 2105 9803 38037 1649 ... |
Feedback: Incorrect character on line 1 col 5: expected "38580", got "38582"
Test 30
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 33 20900 25028 1782 13599 ... |
| user output |
|---|
| 33 20900 25028 1790 13609 ... |
Feedback: Incorrect character on line 4 col 3: expected "1782", got "1790"
Test 31
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1421 1122 1840 834 443 ... |
| user output |
|---|
| 1447 1616 2656 876 707 ... |
Feedback: Incorrect character on line 1 col 3: expected "1421", got "1447"
Test 32
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1378 1751 2274 250 811 ... |
| user output |
|---|
| 1454 2273 2708 366 1335 ... |
Feedback: Incorrect character on line 1 col 2: expected "1378", got "1454"
Test 33
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1126 886 544 223 272 ... |
| user output |
|---|
| 1474 1324 712 313 664 ... |
Feedback: Incorrect character on line 1 col 2: expected "1126", got "1474"
Test 34
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 327286 447779 447534 448307 446997 ... |
| user output |
|---|
| 327286 447779 447534 448307 446997 ... |
Feedback: Incorrect character on line 218 col 5: expected "31515", got "31519"
Test 35
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 2597 1473 1933 2691 1837 ... |
| user output |
|---|
| 2597 1473 1933 2691 1841 ... |
Feedback: Incorrect character on line 5 col 3: expected "1837", got "1841"
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 |
|---|
| 1723 2039 1871 5638 4256 ... |
Feedback: Incorrect character on line 7 col 3: expected "1040", got "1050"
Test 38
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1546 704 2796 3802 1870 ... |
| user output |
|---|
| 1546 706 2800 3802 1870 ... |
Feedback: Incorrect character on line 2 col 3: expected "704", got "706"
Test 39
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3115 2042 2083 3227 740 ... |
| user output |
|---|
| 3133 2044 2083 3229 746 ... |
Feedback: Incorrect character on line 1 col 3: expected "3115", got "3133"
Test 40
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5222 3211 5230 1772 2310 ... |
| user output |
|---|
| 5222 3211 5244 1772 2310 ... |
Feedback: Incorrect character on line 3 col 3: expected "5230", got "5244"
Test 41
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 159214 68851 200821 141404 145704 ... |
| user output |
|---|
| 159214 70045 200821 141684 145704 ... |
Feedback: Incorrect character on line 2 col 1: expected "68851", got "70045"
Test 42
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1843 25028 124430 84542 131339 ... |
| user output |
|---|
| 1863 25028 124430 84542 131339 ... |
Feedback: Incorrect character on line 1 col 3: expected "1843", got "1863"
Test 43
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 111206 75799 12026 142133 20483 ... |
| user output |
|---|
| 111214 75805 12026 142133 20485 ... |
Feedback: Incorrect character on line 1 col 5: expected "111206", got "111214"
Test 44
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 20360 9075 12187 54923 54574 ... |
| user output |
|---|
| 20360 9075 12187 54923 54580 ... |
Feedback: Incorrect character on line 5 col 4: expected "54574", got "54580"
