#include <iostream>
#include <queue>
#include <set>
#include "rainbow.h"
using namespace std;
bool B[3][100005];
bool V[3][100005];
int R,C;
int rmov[]={1,-1,0,0};
int cmov[]={0,0,1,-1};
queue<pair<int,int>> Q;
set<pair<int,int>> S[3];
void init(int R_, int C_, int sr, int sc, int M, char *W) {
R=R_;
C=C_;
B[1][0]=B[2][0]=true;
B[1][C+1]=B[2][C+1]=true;
B[sr][sc]=true;
int cont=0;
for(int i=0;i<M;i++){
if(W[i]=='S')
sr++;
if(W[i]=='N')
sr--;
if(W[i]=='E')
sc++;
if(W[i]=='W')
sc--;
B[sr][sc]=true;
}
for(int r=1;r<R+1;r++)
for(int i=1;i<C+2;i++)
if(B[r][i] and !B[r][i-1])
S[r-1].insert({i,cont++});
else if(!B[r][i] and B[r][i-1])
S[r-1].insert({i,cont});
for(int i=1;i<C+2;i++)
if((B[2][i]|B[1][i]) and !(B[2][i-1]|B[1][i-1]))
S[2].insert({i,cont++});
else if(!(B[2][i]|B[1][i]) and (B[2][i-1]|B[1][i-1]))
S[2].insert({i,cont});
/*for(int k=0;k<3;k++){
for(auto p:S[k])
cout<<p.first<<","<<p.second<<" ";
cout<<endl;
}*/
}
int colour(int ar, int ac, int br, int bc) {
int k;
if(ar==0 and br==0)
k=0;
if(ar==1 and br==1)
k=1;
if(ar==0 and br==1)
k=2;
return (*(--S[k].lower_bound({bc+1,-1}))).second-(*(S[k].lower_bound({ac,-1}))).second+1;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
3 ms |
376 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
4 ms |
628 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
3 ms |
628 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
3 ms |
376 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
3 ms |
376 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |