#include "hexagon.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int MOD = (int) 1e9 + 7;
int draw_territory(int N, int A, int B, vector<int> D, vector<int> L) {
int x = 0, y = 0;
ll boundary = 0, s = 0;
for (int i = 0; i < N; ++i) {
int nx = x, ny = y;
if (D[i] == 1)
ny += L[i];
else if (D[i] == 2)
nx += L[i];
else if (D[i] == 3)
nx += L[i], ny -= L[i];
else if (D[i] == 4)
ny -= L[i];
else if (D[i] == 5)
nx -= L[i];
else
nx -= L[i], ny += L[i];
boundary += L[i];
s += 1LL * (ny + y) * (nx - x);
x = nx, y = ny;
}
s = abs(s) / 2;
ll interior = s - boundary / 2 + 1;
return (interior + boundary) % MOD;
}
| # | 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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |