#include "rainbow.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define fs first
#define sc second
const int mxn = 2e5+10;
pii dir[] = {{0,1},{1,0},{1,1}};
vector<pii> v;
set<pii> st;
void init(int R, int C, int sr, int sc, int M, char *S) {
st.clear();
v.clear();
pii now = pii(sr,sc);
v.push_back(now);
for(int i = 0;i<M;i++){
if(S[i] == 'N')now.fs--;
else if(S[i] == 'S')now.fs++;
else if(S[i] == 'E')now.sc++;
else if(S[i] == 'W')now.sc--;
v.push_back(now);
}
sort(v.begin(),v.end());
v.resize(unique(v.begin(),v.end())-v.begin());
}
int colour(int ar, int ac, int br, int bc) {
vector<pii> vv;
bool con = false;
for(auto &i:v){
if(i.fs<ar||i.fs>br||i.sc<ac||i.sc>bc)continue;
if(i.fs == ar||i.fs == br||i.sc == ac||i.sc == bc)con = true;
vv.push_back(i);
}
for(int i = ar-1;i<=br+1;i++){
vv.push_back(pii(i,ac-1));
vv.push_back(pii(i,bc+1));
}
for(int i = ac-1;i<=bc+1;i++){
vv.push_back(pii(ar-1,i));
vv.push_back(pii(br+1,i));
}
v = vv;
sort(v.begin(),v.end());
v.resize(unique(v.begin(),v.end())-v.begin());
//for(auto &i:v)cerr<<i.fs<<','<<i.sc<<' ';cerr<<endl;
for(auto &i:v)st.insert(i);
int ecnt = 0,vcnt = 0;
vcnt = v.size();
for(auto &i:v){
if(st.find(pii(i.fs+1,i.sc)) != st.end())ecnt++;
if(st.find(pii(i.fs,i.sc+1)) != st.end())ecnt++;
}
int ans = 2+ecnt-vcnt;
//cerr<<vcnt<<' '<<ecnt<<endl;
for(auto &i:v){
int c = 0;
for(auto &d:dir){
if(st.find(pii(i.fs+d.fs,i.sc+d.sc)) != st.end())c++;
}
if(c == 3)ans--;
}
return ans-con;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
15 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
344 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
218 ms |
23292 KB |
Output is correct |
3 |
Correct |
228 ms |
22308 KB |
Output is correct |
4 |
Correct |
188 ms |
20012 KB |
Output is correct |
5 |
Correct |
100 ms |
10604 KB |
Output is correct |
6 |
Incorrect |
313 ms |
31536 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
15 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
15 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |