#include "rainbow.h"
#include <iostream>
using namespace std;
#include <vector>
#define vi vector<int>
#define ll long long
#include <algorithm>
#include <set>
#include <string>
#include <bitset>
#include <cmath>
#include <math.h>
#define pll pair<ll,ll>
#define vll vector<ll>
#define pi pair<int,int>
#include <map>
#include <queue>
#define x first
#define y second
#define pd pair<double,double>
map<pi, bool> m;
void init(int R, int C, int sr, int sc, int M, char* S) {
m[{sr,sc}] = 1;
for (int i = 0; i < M; i++) {
if (S[i] == 'E')sr++;
if (S[i] == 'W')sr--;
if (S[i] == 'N')sc--;
if (S[i] == 'S')sc++;
m[{sr, sc}] = 1;
}
}
int colour(int ar, int ac, int br, int bc) {
swap(ar, ac); swap(br, bc);
int ans = 0;
ar--, ac--, br++, bc++;
for (int i = ar; i <= br; i++) {
m[{i, ac}] = 1;
m[{i, bc}] = 1;
}
for (int i = ac; i <= bc; i++) {
m[{ar, i}] = 1;
m[{br, i}] = 1;
}
int v=0, e=0, t=0,r=0;
for (pair<pi, bool> p : m) {
int a = p.x.x, b = p.x.y;
if (a < ar || a > br || b < ac || b > bc)m[p.x]=0;
}
for (pair<pi,bool> p : m) {
if (p.second == 0)continue;
int a = p.x.x, b = p.x.y;
//if (a < ar || a > br || b < ac || b > bc)continue;
v++;
int g = m[{a + 1, b}], h = m[{a, b + 1}], i = m[{a - 1, b}], j = m[{a, b - 1}];
int k = m[{a + 1, b - 1}], l = m[{a + 1, b + 1}];
e += k;
e += g;
e += l;
e += j;
t += (g + i) * (h + j);
r += g * h * l;
}
return 1+e-v-t+r;
}
Compilation message
rainbow.cpp: In function 'int colour(int, int, int, int)':
rainbow.cpp:36:9: warning: unused variable 'ans' [-Wunused-variable]
36 | int ans = 0;
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
51 ms |
728 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
444 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Incorrect |
386 ms |
63020 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
51 ms |
728 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
51 ms |
728 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |