VioletaBabel

다트 게임 본문

알고리즘문제들/codeground
다트 게임
Beabletoet 2017. 6. 16. 14:43

#include<cstdio>

#include<cmath>

using namespace std;

int Answer, degVal[40] = { 6,13,13,4,4,18,18,1,1,20,20,5,5,12,12,9,9,14,14,11,11,8,8,16,16,7,7,19,19,3,3,17,17,2,2,15,15,10,10,6 };

int main(int argc, char** argv)

{

setbuf(stdout, NULL);

int T, test_case, a, b, c, d, e, n, x, y, score, degree;

double l;

scanf("%d", &T);

for (test_case = 0; test_case < T; test_case++)

{

Answer = 0;

scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &n);

for (int i = n; i--;)

{

scanf("%d %d", &x, &y);

l = sqrt(pow(x, 2) + pow(y, 2));

degree = ((double)((atan2(y, x) / (double)9)))*(180 / 3.141593);

degree = (degree < 0) ? degree + 39 : degree;

if (l < a)

score = 50;

else if (l > e)

score = 0;

else

{

score = degVal[degree];

if (l > b&&l < c)

score *= 3;

else if (l > d&&l < e)

score *= 2;

}

Answer += score;

}

printf("Case #%d\n%d\n", test_case + 1, Answer);

}

return 0;

}

'알고리즘문제들 > codeground' 카테고리의 다른 글

블럭 없애기 (실패)  (0) 2017.06.16
미궁 속의 방  (0) 2017.06.16
시험 공부  (0) 2017.06.16
숫자 골라내기  (0) 2017.06.16
프로그래밍 경진대회 (부분점수)  (0) 2017.06.13
Comments