Submission #1254941

#TimeUsernameProblemLanguageResultExecution timeMemory
1254941NemanjaSo2005장애물 (IOI25_obstacles)C++20
0 / 100
91 ms45640 KiB
#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)
      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++)
         if(boja[i][j]==0)
            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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...