| Task: | Island |
| Sender: | Mauricio_Cruz |
| Submission time: | 2026-04-16 15:02:42 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 10 |
| subtask | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 10 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| #4 | WRONG ANSWER | 0 |
| #5 | WRONG ANSWER | 0 |
| test | verdict | time | subtask | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | 1, 5 | details |
| #2 | ACCEPTED | 0.02 s | 1, 2, 3, 4, 5 | details |
| #3 | ACCEPTED | 0.15 s | 1, 5 | details |
| #4 | ACCEPTED | 0.15 s | 1, 5 | details |
| #5 | ACCEPTED | 0.13 s | 1, 3, 5 | details |
| #6 | ACCEPTED | 0.08 s | 1, 2, 4, 5 | details |
| #7 | ACCEPTED | 0.08 s | 1, 2, 4, 5 | details |
| #8 | ACCEPTED | 0.17 s | 1, 5 | details |
| #9 | ACCEPTED | 0.16 s | 1, 5 | details |
| #10 | ACCEPTED | 0.07 s | 1, 3, 4, 5 | details |
| #11 | ACCEPTED | 0.07 s | 1, 3, 5 | details |
| #12 | ACCEPTED | 0.12 s | 1, 4, 5 | details |
| #13 | ACCEPTED | 0.11 s | 1, 3, 4, 5 | details |
| #14 | ACCEPTED | 0.11 s | 1, 4, 5 | details |
| #15 | ACCEPTED | 0.10 s | 1, 5 | details |
| #16 | ACCEPTED | 0.13 s | 1, 5 | details |
| #17 | ACCEPTED | 0.14 s | 1, 5 | details |
| #18 | ACCEPTED | 0.17 s | 1, 5 | details |
| #19 | WRONG ANSWER | 0.10 s | 2, 4, 5 | details |
| #20 | WRONG ANSWER | 0.10 s | 2, 4, 5 | details |
| #21 | WRONG ANSWER | 0.09 s | 2, 4, 5 | details |
| #22 | WRONG ANSWER | 0.12 s | 2, 4, 5 | details |
| #23 | WRONG ANSWER | 0.12 s | 3, 5 | details |
| #24 | WRONG ANSWER | 0.12 s | 3, 5 | details |
| #25 | WRONG ANSWER | 0.12 s | 3, 5 | details |
| #26 | ACCEPTED | 0.10 s | 3, 5 | details |
| #27 | ACCEPTED | 0.10 s | 3, 4, 5 | details |
| #28 | ACCEPTED | 0.09 s | 3, 4, 5 | details |
| #29 | WRONG ANSWER | 0.09 s | 4, 5 | details |
| #30 | WRONG ANSWER | 0.10 s | 4, 5 | details |
| #31 | WRONG ANSWER | 0.13 s | 4, 5 | details |
| #32 | WRONG ANSWER | 0.11 s | 4, 5 | details |
| #33 | WRONG ANSWER | 0.11 s | 4, 5 | details |
| #34 | WRONG ANSWER | 0.09 s | 4, 5 | details |
| #35 | WRONG ANSWER | 0.13 s | 5 | details |
| #36 | WRONG ANSWER | 0.12 s | 5 | details |
| #37 | WRONG ANSWER | 0.12 s | 5 | details |
| #38 | WRONG ANSWER | 0.12 s | 5 | details |
| #39 | WRONG ANSWER | 0.12 s | 5 | details |
| #40 | WRONG ANSWER | 0.12 s | 5 | details |
| #41 | WRONG ANSWER | 0.11 s | 5 | details |
| #42 | WRONG ANSWER | 0.11 s | 5 | details |
| #43 | WRONG ANSWER | 0.12 s | 5 | details |
| #44 | WRONG ANSWER | 0.12 s | 5 | details |
Code
#include <bits/stdc++.h>
using namespace std;
#define rz(a,n) a.resize(n);
#define mset multiset
#define mii map<int,int>
#define str string
#define dbl double
#define i128 __int128
#define to_string tos
#define all(x) x.begin(), x.end()
#define srtl(x)sort(all(x))
#define srtg(x)sort((x).begin(),(x).end(),greater<>())
#define rev(x) reverse(all(x))
#define lb(x,y) lower_bound(x.begin(),x.end(),y)-x.begin()
#define ub(x,y) upper_bound(x.begin(),x.end(),y)-x.begin()
#define ios ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define f first
#define s second
#define pb push_back
#define ins insert
#define next next_permutation(all())
#define _b __builtin_popcount
#define ve vector
#define pii pair<int,int>
#define piii pair<int,pii>
#define vi vector<int>
#define vii vector<pii>
#define viii vector<piii>
#define vvi vector<vi>
#define vst vector<string>
#define vb vector<bool>
#define pV(x)for(auto i:x)cout<<i<<" ";
#define geta(a){for(auto &i:a)cin>>i;}
#define getaa(a){for(int i=1;i<a.size();i++)cin>>a[i];}
#define fri(n)for(int i=0;i<n;i++)
#define frj(j,m)for(int j=0;j<m;j++)
#define ff(v,x,y)for(int v=x;v<y;v++)
#define Fr(n)for(int i=n-1;i>=0;i--)
#define suma(a)accumulate(a.begin(),a.end(),0LL)
#define br(x){cout<<x<<"\n";return;}
#define yesn cout<<"YES\n";
#define yes()br("YES");
#define no(){br("NO")}
#define alice() br("Alice");
#define bob() br("Bob");
#define cn continue;
#define cint const int
#define int long long
int mod=1000000007;
cint mod1=100000007;
cint mod2=998244353;
int ax[8]={0,1,0,-1,-1,1,1,-1};
int ay[8]={1,0,-1,0,1,-1,1,-1};
//bool on(int x,int y){return (x>=0&&x<n&&y>=0&&y<m);}
//int euc(int a,int b,int c,int d){return abs(a-c)+abs(b-d);}
int bp(int x,int y){
if(y==0)return 1;
int r=bp(x,y/2);
return (y&1)?r*r%mod*x%mod:r*r%mod;
}
int bpm(int x,int y){
if(y==0)return 1;
int r=bpm(x,y/2);
return (y&1)?r*r*x:r*r;
}
int cinn(){
int n;
cin>>n;
return n;
}
#define w cinn()
int n,q;
ve<ve<char>>mt(1005,ve<char>(1005,'.'));
int id=0;
vvi dis(1005,vi(1005,0));
vvi vis(1005,vi(1005,0));
int dfs(int x1,int y1,int x2,int y2){
if(x1==x2&&y1==y2)return 0;
id++;
queue<pii>q1;
q1.push({x1,y1});
vis[x1][y1]=id;
dis[x1][y1]=0;
while(!q1.empty()) {
pii p=q1.front();
q1.pop();
int x=p.f,y=p.s;
fri(4){
int X=x+ax[i],Y=y+ay[i];
if(X>=0&&X<n&&Y>=0&&Y<n&&mt[X][Y]=='#'&&vis[X][Y]!=id){
vis[X][Y]=id;
dis[X][Y]=dis[x][y]+1;
if(X==x2&&Y==y2)return dis[X][Y];
q1.push({X,Y});
}
}
}
return -1;
}
void bfs(int x,int y,int d){
id++;
queue<pii>q1;
q1.push({x,y});
vis[x][y]=id;
dis[x][y]=0;
while(!q1.empty()) {
pii p=q1.front();
q1.pop();
int curx=p.f,cury=p.s;
fri(4){
int X=curx+ax[i],Y=cury+ay[i];
if(X>=0&&X<n&&Y>=0&&Y<n&&mt[X][Y]=='#'&&vis[X][Y]!=id){
vis[X][Y]=id;
dis[X][Y]=dis[curx][cury]+1;
q1.push({X,Y});
}
}
}
}
void solve(){
cin>>n>>q;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>mt[i][j];
if(n<=200&&q<=200){
while(q--){
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;x1--;x2--;y1--;y2--;
cout<<dfs(x1,y1,x2,y2)<<"\n";
}
}
else{
int xxx=0,yyy=0;
bool ff = false;
for(int ii=0;ii<n;ii++){
for(int jj=0;jj<n;jj++){
if(mt[ii][jj]=='#'){
int num=0;
fri(4){
int X=ii+ax[i],Y=jj+ay[i];
if(X>=0&&X<n&&Y>=0&&Y<n&&mt[X][Y]=='#')num++;
}
if(num<=1){xxx=ii,yyy=jj; ff=true; break;}
}
}
if(ff) break;
}
bfs(xxx,yyy,0);
while(q--){
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;x1--;x2--;y1--;y2--;
cout<<abs(dis[x1][y1]-dis[x2][y2])<<"\n";
}
}
}
int32_t main(){
ios;
int t=1;
while(t--){
solve();
}
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: 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: 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: 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: 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: 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: 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: 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: WRONG ANSWER
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 150 531 370 518 508 ... |
| user output |
|---|
| 150 235 108 518 30 ... |
Feedback: Incorrect character on line 2 col 1: expected "531", got "235"
Test 20
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 390 278 783 1269 249 ... |
| user output |
|---|
| 352 34 783 1269 249 ... |
Feedback: Incorrect character on line 1 col 2: expected "390", got "352"
Test 21
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 63 142 813 683 731 ... |
| user output |
|---|
| 0 0 0 0 0 ... |
Feedback: Incorrect character on line 1 col 1: expected "63", got "0"
Test 22
Subtask: 2, 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 949 876 1209 494 1033 ... |
| user output |
|---|
| 949 382 739 382 697 ... |
Feedback: Incorrect character on line 2 col 1: expected "876", got "382"
Test 23
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 997 100000 ................................. |
| correct output |
|---|
| 714 2683 3699 2085 7850 ... |
| user output |
|---|
| 512 155 3061 2033 2450 ... |
Feedback: Incorrect character on line 1 col 1: expected "714", got "512"
Test 24
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5081 1819 1050 4610 528 ... |
| user output |
|---|
| 2117 1763 1046 1408 440 ... |
Feedback: Incorrect character on line 1 col 1: expected "5081", got "2117"
Test 25
Subtask: 3, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3554 6322 6648 2882 1490 ... |
| user output |
|---|
| 3346 4302 3990 202 978 ... |
Feedback: Incorrect character on line 1 col 2: expected "3554", got "3346"
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 |
|---|
| 38026 1011 9795 38033 1231 ... |
Feedback: Incorrect character on line 1 col 3: expected "38580", got "38026"
Test 30
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 33 20900 25028 1782 13599 ... |
| user output |
|---|
| 33 20888 24862 1182 13385 ... |
Feedback: Incorrect character on line 2 col 3: expected "20900", got "20888"
Test 31
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1421 1122 1840 834 443 ... |
| user output |
|---|
| 827 1122 618 128 23 ... |
Feedback: Incorrect character on line 1 col 1: expected "1421", got "827"
Test 32
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1378 1751 2274 250 811 ... |
| user output |
|---|
| 1378 1091 1208 250 811 ... |
Feedback: Incorrect character on line 2 col 2: expected "1751", got "1091"
Test 33
Subtask: 4, 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1126 886 544 223 272 ... |
| user output |
|---|
| 1126 140 240 189 264 ... |
Feedback: Incorrect character on line 2 col 1: expected "886", got "140"
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 8 col 4: expected "446902", got "446832"
Test 35
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 2597 1473 1933 2691 1837 ... |
| user output |
|---|
| 2229 483 1183 2673 33 ... |
Feedback: Incorrect character on line 1 col 2: expected "2597", got "2229"
Test 36
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 553 4357 3147 6951 1573 ... |
| user output |
|---|
| 295 1417 1131 5897 185 ... |
Feedback: Incorrect character on line 1 col 1: expected "553", got "295"
Test 37
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1723 2039 1871 5638 4256 ... |
| user output |
|---|
| 1445 1855 1509 3452 2396 ... |
Feedback: Incorrect character on line 1 col 2: expected "1723", got "1445"
Test 38
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1546 704 2796 3802 1870 ... |
| user output |
|---|
| 872 610 1524 1230 1232 ... |
Feedback: Incorrect character on line 1 col 1: expected "1546", got "872"
Test 39
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 3115 2042 2083 3227 740 ... |
| user output |
|---|
| 3033 880 2081 509 726 ... |
Feedback: Incorrect character on line 1 col 2: expected "3115", got "3033"
Test 40
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 5222 3211 5230 1772 2310 ... |
| user output |
|---|
| 5126 1945 4738 1402 1052 ... |
Feedback: Incorrect character on line 1 col 2: expected "5222", got "5126"
Test 41
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 159214 68851 200821 141404 145704 ... |
| user output |
|---|
| 159214 68851 200821 141404 134816 ... |
Feedback: Incorrect character on line 5 col 2: expected "145704", got "134816"
Test 42
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 1843 25028 124430 84542 131339 ... |
| user output |
|---|
| 1843 25028 124430 84542 131339 ... |
Feedback: Incorrect character on line 7 col 5: expected "18418", got "18414"
Test 43
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 111206 75799 12026 142133 20483 ... |
| user output |
|---|
| 111206 75799 12026 142133 20483 ... |
Feedback: Incorrect character on line 7 col 4: expected "14564", got "14536"
Test 44
Subtask: 5
Verdict: WRONG ANSWER
| input |
|---|
| 1000 100000 ................................. |
| correct output |
|---|
| 20360 9075 12187 54923 54574 ... |
| user output |
|---|
| 20356 9073 12183 54921 54570 ... |
Feedback: Incorrect character on line 1 col 4: expected "20360", got "20356"
