답안 #440425

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
440425 2021-07-02T09:06:59 Z sam571128 육각형 영역 (APIO21_hexagon) C++17
0 / 100
1 ms 296 KB
#include "hexagon.h"
#include <bits/stdc++.h>

#define ll long long

using namespace std;


int draw_territory(int N, int A, int B, vector<int> D, vector<int> L) {
    int x[N+1], y[N+1], nowx = 0, nowy = 0, MOD = 1e9+7, peri = 0;
    x[0] = y[0] = 0;
    for(int i = 1;i <= N;i++){
        if(D[i]==1) nowy += L[i-1];
        if(D[i]==2) nowx += L[i-1], nowy += L[i-1];
        if(D[i]==3) nowx += L[i-1];
        if(D[i]==4) nowy -= L[i-1];
        if(D[i]==5) nowx -= L[i-1], nowy -= L[i-1];
        if(D[i]==6) nowx -= L[i-1];
        x[i] = nowx, y[i] = nowy;
        peri = (peri+L[i-1])%MOD;
    }

    ll ans = 0;

    for(int i = 0;i <= N;i++){
        ans = (ans + x[i]*y[i+1]-x[i+1]*y[i])%MOD;
    }

    ans = ((((ans-peri)/2 + 1)%MOD + MOD)%MOD + peri)%MOD;
    return ans*A%MOD;
}


//Subtask: B=0 => count the area 
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -