이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "hexagon.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
#define f0(i, n)                for(int i = 0; i <  (n); i++)
#define f1(i, n)                for(int i = 1; i <= (n); i++)
#define pb                      push_back
#define ff first
#define ss second
pair<long double, long double> dir[] = {
    {0, 2},
    {sqrt(3), 1},
    {sqrt(3), -1},
    {-0, -2},
    {-sqrt(3), -1},
    {-sqrt(3), 1}
};
const int MOD = 1e9 + 7;
int draw_territory(int N, int A, int B,
                   std::vector<int> D, std::vector<int> L) {
    if(N == 3) {
        long long l = L[0]+1;
        l = l*(l+1);
        l %= MOD;
        l *= (MOD+1)/2;
        l %= MOD;
        l *= A;
        l %= MOD;
        return l;
    }
    if(B == 0) {
        vector<pair<long double, long double>> coord;
        coord.pb({0, 0});
        pair<long double, long double> cur = {0, 0};
        int len = 0;
        f0(i, N) {
            cur.ff = cur.ff + L[i]*dir[D[i]-1].ff;
            cur.ss = cur.ss + L[i]*dir[D[i]-1].ss;
            coord.pb(cur);
            len += L[i];
        }
        long double area = 0;
        f0(i, N) {
            area += coord[i].ff*coord[i+1].ss;
            area -= coord[i].ss*coord[i+1].ff;
        }
        area = abs(area)/2;
        // cout << area << endl;
        area += (6/sqrt(3));
        area += (len*3.0/sqrt(3));
        area /= (6/sqrt(3));
        // cout << area << endl;
        return ((((int)floor(area + 0.5) % MOD)*(A% MOD)) % MOD);
    }
    
    return 0;
}
| # | 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... |