This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
bool was[1001][1001];
bool c[1001][1001];
void dfs(int x,int y,int lx,int ly,int rx,int ry){
if(x>=lx and x<=rx and y>=ly and y<=ry and !c[x][y] and !was[x][y]){
if(lx==1 and ly==2 and rx==5 and ry==3){
// cout<<x<<' '<<y<<endl;
}
c[x][y]=1;
dfs(x-1,y,lx,ly,rx,ry);
dfs(x+1,y,lx,ly,rx,ry);
dfs(x,y-1,lx,ly,rx,ry);
dfs(x,y+1,lx,ly,rx,ry);
}
}
void init(int r,int c,int sr,int sc,int m,char* s){
int px=sr,py=sc;
was[px][py]=1;
for(int i=0;i<m;i++){
char u=s[i];
if(u=='S'){
px++;
}else if(u=='N'){
px--;
}else if(u=='E'){
py++;
}else{
py--;
}
// cout<<px<<' '<<py<<endl;
was[px][py]=1;
}
}
int colour(int lx,int ly,int rx,int ry){
for(int i=1;i<=100;i++){
for(int j=1;j<=100;j++){
c[i][j]=0;
}
}
int cnt=0;
for(int i=lx;i<=rx;i++){
for(int j=ly;j<=ry;j++){
if(i==3 and j==2){
}
if(!c[i][j] and !was[i][j]){
dfs(i,j,lx,ly,rx,ry);
cnt++;
}
}
}
return cnt;
}
# | 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... |