#include "hexagon.h"
#include <bits/stdc++.h>
using namespace std;
#define inf INT_MAX
int draw_territory(int N, int A, int B,vector<int> D, vector<int> L) {
int sumL = 200000;
vector<vector<int>> vis(2*sumL+1);
int x = 0,y = 0;
int dx[6] = {0,1,1,0,-1,-1};
int dy[6] = {1,1,0,-1,-1,0};
int preD = -1;
for(int i = 0;i < N;i++){
int d = D[i]-1;
if(d+preD == 6 && d != 3){
vis[x+sumL].push_back(y);
}
preD = d;
for(int t = 0;t < L[i];t++){
x += dx[d];
y += dy[d];
vis[x+sumL].push_back(y);
}
}
if(D[0] + D[N-1] == 6 && D[0] != 3){
vis[0+sumL].push_back(0);
}
int ans = 0;
for(auto v:vis){
if(v.empty())continue;
sort(v.begin(),v.end());
int cur = 0;
for(int i = 1;i < v.size();i+=2){
ans += v[i]-v[i-1]+1;
cur += v[i]-v[i-1]+1;
}
if(v.size() % 2 == 1){
ans++;
cur++;
}
// cout << cur << endl;
}
return ans*A;
}
#undef int
# | 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... |