VioletaBabel
다트 게임 본문
#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 |