ACM준비/algospot

algospot_

조규현15 2015. 5. 24. 01:59
반응형

https://www.algospot.com/judge/problem/read/MOON

 

algospot.com :: MOON

달과 그림자 문제 정보 문제 재의는 매일 밤마다 달 사진을 찍는다. 사진에는 달과 달을 가리는 어두운 그림자가 보인다. 사진 상에서, 달과 그림자는 반지름이 각각 M과 S인 원이고, 달의 중심과

www.algospot.com

#include <stdio.h>

#include <math.h>

#define M_PI 3.14159265358979323846

double getAngle(double a, double b, double c)

{

    return acos((a * a + b * b - c * c) / (2 * a * b));
}

double getSize(double a, double b, double c)

{

    double s = (a + b + c) / 2;

    return sqrt(s * (s - a) * (s - b) * (s - c));
}

int main()

{

    int CASE;

    for (scanf("%d", &CASE); CASE > 0; CASE--)

    {

        double M, S, C;

        double MOON, T_SHAWDOW, T_MOON, TRIANGLE;

        scanf("%lf %lf %lf", &M, &S, &C);

        TRIANGLE = getSize(M, S, C);

        MOON = M * M * M_PI;

        T_MOON = MOON * (getAngle(M, C, S) / (2 * M_PI));

        T_SHAWDOW = S * S * M_PI * (getAngle(S, C, M) / (2 * M_PI));

        printf("%.3lf\n", MOON - (T_MOON + T_SHAWDOW - TRIANGLE) * 2);
    }

    return 0;
}
반응형

'ACM준비 > algospot' 카테고리의 다른 글

DESIGNSCHOOL  (0) 2015.07.07
BADUK2  (0) 2015.07.07
FESTIVAL  (0) 2015.07.07
TILING2  (0) 2015.05.24
게임판 덮기  (0) 2015.01.13