#include "obstacles.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=2e5+5;
int n,m;
int boja[5][maxn];
bool moze[5][maxn];
int dx[]={1,-1,0,0};
int dy[]={0,0,1,-1};
void dfs(int x,int y,int c){
if(x<0 or x>=n or y<0 or y>=m)
return;
if(boja[x][y]!=0 or !moze[x][y])
return;
boja[x][y]=c;
for(int i=0;i<4;i++)
dfs(x+dx[i],y+dy[i],c);
}
void initialize(std::vector<int> T, std::vector<int> H) {
if(T.size()>3){
vector<int> nt;
nt.push_back(T[0]);
nt.push_back(T[1]);
nt.push_back(T.back());
T=nt;
}
n=T.size();
m=H.size();
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
moze[i][j]=T[i]>H[j];
int cnt=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
dfs(i,j,++cnt);
return;
}
bool can_reach(int L, int R, int S, int D) {
return boja[0][S]==boja[0][D];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |