| Task: | Island |
| Sender: | Diego_09 |
| Submission time: | 2026-04-16 14:54:49 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 6 |
| subtask | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | ACCEPTED | 6 |
| #3 | WRONG ANSWER | 0 |
| #4 | WRONG ANSWER | 0 |
| #5 | WRONG ANSWER | 0 |
| test | verdict | time | subtask | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.05 s | 1, 5 | details |
| #2 | ACCEPTED | 0.03 s | 1, 2, 3, 4, 5 | details |
| #3 | ACCEPTED | 1.34 s | 1, 5 | details |
| #4 | ACCEPTED | 1.37 s | 1, 5 | details |
| #5 | WRONG ANSWER | 0.04 s | 1, 3, 5 | details |
| #6 | ACCEPTED | 1.28 s | 1, 2, 4, 5 | details |
| #7 | ACCEPTED | 1.28 s | 1, 2, 4, 5 | details |
| #8 | ACCEPTED | 1.38 s | 1, 5 | details |
| #9 | ACCEPTED | 1.36 s | 1, 5 | details |
| #10 | WRONG ANSWER | 0.04 s | 1, 3, 4, 5 | details |
| #11 | WRONG ANSWER | 0.04 s | 1, 3, 5 | details |
| #12 | ACCEPTED | 1.32 s | 1, 4, 5 | details |
| #13 | WRONG ANSWER | 0.04 s | 1, 3, 4, 5 | details |
| #14 | ACCEPTED | 1.29 s | 1, 4, 5 | details |
| #15 | ACCEPTED | 1.31 s | 1, 5 | details |
| #16 | ACCEPTED | 1.35 s | 1, 5 | details |
| #17 | ACCEPTED | 1.36 s | 1, 5 | details |
| #18 | ACCEPTED | 1.39 s | 1, 5 | details |
| #19 | ACCEPTED | 0.07 s | 2, 4, 5 | details |
| #20 | ACCEPTED | 0.07 s | 2, 4, 5 | details |
| #21 | ACCEPTED | 0.07 s | 2, 4, 5 | details |
| #22 | ACCEPTED | 0.07 s | 2, 4, 5 | details |
| #23 | WRONG ANSWER | 0.35 s | 3, 5 | details |
| #24 | WRONG ANSWER | 0.34 s | 3, 5 | details |
| #25 | WRONG ANSWER | 0.34 s | 3, 5 | details |
| #26 | WRONG ANSWER | 0.30 s | 3, 5 | details |
| #27 | WRONG ANSWER | 0.29 s | 3, 4, 5 | details |
| #28 | WRONG ANSWER | 0.26 s | 3, 4, 5 | details |
| #29 | WRONG ANSWER | 0.07 s | 4, 5 | details |
| #30 | WRONG ANSWER | 0.07 s | 4, 5 | details |
| #31 | WRONG ANSWER | 0.08 s | 4, 5 | details |
| #32 | WRONG ANSWER | 0.07 s | 4, 5 | details |
| #33 | WRONG ANSWER | 0.08 s | 4, 5 | details |
| #34 | WRONG ANSWER | 0.07 s | 4, 5 | details |
| #35 | WRONG ANSWER | 0.08 s | 5 | details |
| #36 | WRONG ANSWER | 0.08 s | 5 | details |
| #37 | WRONG ANSWER | 0.08 s | 5 | details |
| #38 | WRONG ANSWER | 0.08 s | 5 | details |
| #39 | WRONG ANSWER | 0.08 s | 5 | details |
| #40 | WRONG ANSWER | 0.08 s | 5 | details |
| #41 | WRONG ANSWER | 0.08 s | 5 | details |
| #42 | WRONG ANSWER | 0.08 s | 5 | details |
| #43 | WRONG ANSWER | 0.08 s | 5 | details |
| #44 | WRONG ANSWER | 0.08 s | 5 | details |
Code
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#if defined(__has_include)&&__has_include("custom_h/debugging.h")
#define local_run 1
#include "custom_h\debugging.h"
#else
#define local_run 0
#endif
// #pragma GCC target ("avx2");
// #pragma GCC optimize ("Ofast");
#define rall(v) v.rbegin(),v.rend()
#define all(v) v.begin(),v.end()
#define keyval find_by_order
#define valkey order_of_key
#define int long long
#define pb push_back
#define s second
#define f first
using namespace __gnu_pbds;
using namespace std;
template<typename T>
using oset=tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>;
template<typename T>
using omset=tree<T,null_type,less_equal<T>,rb_tree_tag,tree_order_statistics_node_update>;
void set_io(string name=""){
ios_base::sync_with_stdio(0);cin.tie(0);
if(name.size() and !local_run){
// freopen((name+".in").c_str(),"r",stdin);
// freopen((name+".out").c_str(),"w",stdout);
}
}
const int mx[]={1,-1,0,0,1,-1,-1,1};
const int my[]={0,0,1,-1,1,1,-1,-1};
const int md=1e9+7;
const int oo=1e18;
vector<string>mat;
int bfs(int x,int y,int a,int b){
vector<vector<int>>dist(1006,vector<int>(1006,oo));
queue<pair<int,int>>q;
q.push({x,y});
dist[x][y]=0;
while(!q.empty()){
x=q.front().f;
y=q.front().s;
q.pop();
// cerr<<x<<" "<<y<<"\n";
for(int i=0;i<4;i++){
int nx=x+mx[i];
int ny=y+my[i];
if(mat[nx][ny]=='#' and dist[nx][ny]==oo){
dist[nx][ny]=dist[x][y]+1;
if(nx==a and ny==b)return dist[nx][ny];
q.push({nx,ny});
}
}
}
return 0;
}
vector<int>graph[1000001];
vector<int>dist(1000001,oo);
int bl[1000001][32];
int ind[1001][1001];
int cnd;
void bfspalo(int x,int y){
if(x==-1 or y==-1)return;
queue<pair<int,pair<int,int>>>q;
q.push({1,{x,y}});
ind[x][y]=1;
int cont=2;
while(!q.empty()){
int nd=q.front().f;
x=q.front().s.f;
y=q.front().s.s;
q.pop();
for(int i=0;i<4;i++){
int nx=x+mx[i];
int ny=y+my[i];
if(mat[nx][ny]=='#' and ind[nx][ny]==0){
dist[cont]=dist[nd]+1;
ind[nx][ny]=cont;
graph[nd].pb(cont);
bl[cont][0]=nd;
cnd=cont;
q.push({cont,{nx,ny}});
cont++;
}
}
}
// for(int i=1;i<32;i++){
// for(int j=1;j<=cnd;j++){
// bl[j][i]=bl[bl[j][i-1]][i-1];
// cerr<<bl[j][i]<<" ";
// }cerr<<"\n";
// }
}
int lca(int a,int b){
if(dist[a]<dist[b])swap(a,b);
for(int i=31;i>=0;i--){
if(dist[bl[a][i]]>=dist[b])a=bl[a][i];
}
if(a!=b){
for(int i=31;i>=0;i--){
if(bl[a][i]!=bl[b][i]){
a=bl[a][i];
b=bl[b][i];
}
}
a=bl[a][0];
}
return a;
}
void solve(){
int n,q;
cin>>n>>q;
mat.resize(n);
for(int i=0;i<n;i++){
cin>>mat[i];
}
int ix=-1,iy=-1,c22=0;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1;j++){
int c=0;
c+=mat[i][j]=='#';
c+=mat[i+1][j]=='#';
c+=mat[i][j+1]=='#';
c+=mat[i+1][j+1]=='#';
if(c==4)c22++;
if(mat[i][j]=='#'){
ix=i;
iy=j;
}
}
}
if(c22==0){
// cerr<<ix<<" "<<iy<<"\n";
bfspalo(ix,iy);
}
while(q--){
int x,y,a,b;
cin>>x>>y>>a>>b;
x--;y--;a--;b--;
if(c22==0){
x=ind[x][y];
y=ind[a][b];
cout<<(dist[x]-dist[lca(x,y)])+(dist[y]-dist[lca(x,y)])<<"\n";
continue;
}
if(n<=200 and q<=200){
cout<<bfs(x,y,a,b)<<"\n";
continue;
}
cout<<abs(x-a)+abs(y-b)<<"\n";
}
}
int32_t main(){set_io("");
int t=1;
// cin>>t;
while(t--){
solve();
}
}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: ACCEPTED
| input |
|---|
| 199 196 ................................. |
| correct output |
|---|
| 468 605 825 532 496 ... |
| user output |
|---|
| 468 605 825 532 496 ... |
Test 4
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 112 347 142 459 239 ... |
| user output |
|---|
| 112 347 142 459 239 ... |
Test 5
Subtask: 1, 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 381 544 94 532 98 ... |
| user output |
|---|
| -307 -522 -88 -518 -84 ... |
Feedback: Incorrect character on line 1 col 1: expected "381", got "-307"
Test 6
Subtask: 1, 2, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 133 73 81 82 53 ... |
| user output |
|---|
| 133 73 81 82 53 ... |
Test 7
Subtask: 1, 2, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 139 52 101 14 144 ... |
| user output |
|---|
| 139 52 101 14 144 ... |
Test 8
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 236 555 878 632 829 ... |
| user output |
|---|
| 236 555 878 632 829 ... |
Test 9
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 425 296 698 577 422 ... |
| user output |
|---|
| 425 296 698 577 422 ... |
Test 10
Subtask: 1, 3, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1365 7284 11808 6136 9283 ... |
| user output |
|---|
| -1359 -7278 -11802 -6130 -9277 ... |
Feedback: Incorrect character on line 1 col 1: expected "1365", got "-1359"
Test 11
Subtask: 1, 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 6292 17954 16728 8938 1335 ... |
| user output |
|---|
| -6286 -17948 -16722 -8932 -1329 ... |
Feedback: Incorrect character on line 1 col 1: expected "6292", got "-6286"
Test 12
Subtask: 1, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 27 141 269 127 61 ... |
| user output |
|---|
| 27 141 269 127 61 ... |
Test 13
Subtask: 1, 3, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 19552 19544 19478 19402 19456 ... |
| user output |
|---|
| -19546 -19538 -19472 -19396 -19450 ... |
Feedback: Incorrect character on line 1 col 1: expected "19552", got "-19546"
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: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1584 1433 567 2248 1030 ... |
| user output |
|---|
| 1584 1433 567 2248 1030 ... |
Test 16
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 5872 6374 60 323 5311 ... |
| user output |
|---|
| 5872 6374 60 323 5311 ... |
Test 17
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1852 213 252 3861 1835 ... |
| user output |
|---|
| 1852 213 252 3861 1835 ... |
Test 18
Subtask: 1, 5
Verdict: ACCEPTED
| input |
|---|
| 200 200 ................................. |
| correct output |
|---|
| 1564 2709 866 1318 1758 ... |
| user output |
|---|
| 1564 2709 866 1318 1758 ... |
Test 19
Subtask: 2, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 150 531 370 518 508 ... |
| user output |
|---|
| 150 531 370 518 508 ... |
Test 20
Subtask: 2, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 390 278 783 1269 249 ... |
| user output |
|---|
| 390 278 783 1269 249 ... |
Test 21
Subtask: 2, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 63 142 813 683 731 ... |
| user output |
|---|
| 63 142 813 683 731 ... |
Test 22
Subtask: 2, 4, 5
Verdict: ACCEPTED
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 949 876 1209 494 1033 ... |
| user output |
|---|
| 949 876 1209 494 1033 ... |
Test 23
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 714 2683 3699 2085 7850 ... |
| user output |
|---|
| -506 -1919 -2091 -2039 -7364 ... |
Feedback: Incorrect character on line 1 col 1: expected "714", got "-506"
Test 24
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5081 1819 1050 4610 528 ... |
| user output |
|---|
| -1809 -1401 -1040 -3432 -434 ... |
Feedback: Incorrect character on line 1 col 1: expected "5081", got "-1809"
Test 25
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3554 6322 6648 2882 1490 ... |
| user output |
|---|
| -3234 -3920 -4232 -1854 -260 ... |
Feedback: Incorrect character on line 1 col 1: expected "3554", got "-3234"
Test 26
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 433976 81646 87810 48080 110879 ... |
| user output |
|---|
| -433970 -81640 -87804 -48074 -110873 ... |
Feedback: Incorrect character on line 1 col 1: expected "433976", got "-433970"
Test 27
Subtask: 3, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 207982 140036 208364 51912 56826 ... |
| user output |
|---|
| -207976 -140030 -208358 -51906 -56820 ... |
Feedback: Incorrect character on line 1 col 1: expected "207982", got "-207976"
Test 28
Subtask: 3, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 497525 497563 498000 496804 497335 ... |
| user output |
|---|
| -497519 -497557 -497994 -496798 -497329 ... |
Feedback: Incorrect character on line 1 col 1: expected "497525", got "-497519"
Test 29
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 38580 2097 9795 38033 1639 ... |
| user output |
|---|
| 796 605 539 1221 647 ... |
Feedback: Incorrect character on line 1 col 1: expected "38580", got "796"
Test 30
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 33 20900 25028 1782 13599 ... |
| user output |
|---|
| 33 448 870 496 641 ... |
Feedback: Incorrect character on line 2 col 1: expected "20900", got "448"
Test 31
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1421 1122 1840 834 443 ... |
| user output |
|---|
| 615 1122 420 330 443 ... |
Feedback: Incorrect character on line 1 col 1: expected "1421", got "615"
Test 32
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1378 1751 2274 250 811 ... |
| user output |
|---|
| 1378 897 846 250 811 ... |
Feedback: Incorrect character on line 2 col 1: expected "1751", got "897"
Test 33
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1126 886 544 223 272 ... |
| user output |
|---|
| 948 886 544 223 272 ... |
Feedback: Incorrect character on line 1 col 1: expected "1126", got "948"
Test 34
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 327286 447779 447534 448307 446997 ... |
| user output |
|---|
| 884 1085 1152 1613 1689 ... |
Feedback: Incorrect character on line 1 col 1: expected "327286", got "884"
Test 35
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 2597 1473 1933 2691 1837 ... |
| user output |
|---|
| 893 529 481 921 723 ... |
Feedback: Incorrect character on line 1 col 1: expected "2597", got "893"
Test 36
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 553 4357 3147 6951 1573 ... |
| user output |
|---|
| 237 751 811 1165 451 ... |
Feedback: Incorrect character on line 1 col 1: expected "553", got "237"
Test 37
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1723 2039 1871 5638 4256 ... |
| user output |
|---|
| 253 1539 719 364 712 ... |
Feedback: Incorrect character on line 1 col 1: expected "1723", got "253"
Test 38
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1546 704 2796 3802 1870 ... |
| user output |
|---|
| 932 366 386 928 332 ... |
Feedback: Incorrect character on line 1 col 1: expected "1546", got "932"
Test 39
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3115 2042 2083 3227 740 ... |
| user output |
|---|
| 1279 104 591 1347 230 ... |
Feedback: Incorrect character on line 1 col 1: expected "3115", got "1279"
Test 40
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5222 3211 5230 1772 2310 ... |
| user output |
|---|
| 868 887 510 252 408 ... |
Feedback: Incorrect character on line 1 col 1: expected "5222", got "868"
Test 41
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 159214 68851 200821 141404 145704 ... |
| user output |
|---|
| 1060 713 1007 660 1220 ... |
Feedback: Incorrect character on line 1 col 2: expected "159214", got "1060"
Test 42
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1843 25028 124430 84542 131339 ... |
| user output |
|---|
| 113 354 640 702 785 ... |
Feedback: Incorrect character on line 1 col 2: expected "1843", got "113"
Test 43
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 111206 75799 12026 142133 20483 ... |
| user output |
|---|
| 976 481 368 839 221 ... |
Feedback: Incorrect character on line 1 col 1: expected "111206", got "976"
Test 44
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 20360 9075 12187 54923 54574 ... |
| user output |
|---|
| 310 149 301 1109 822 ... |
Feedback: Incorrect character on line 1 col 1: expected "20360", got "310"
