문제에서 다트가 꽂힌 좌표 (x, y) 값이 주어져 있으므로,
과녁의 중심(0, 0) 으로 부터 해당 좌표까지의 거리를 구할 수 있다.
x2+ y2 와 r (=20, 40, 60, ,,, 200) 의 길이를 비교하면
다트가 꽂힌 위치의 점수 p 를 알아낼 수 있는 간단한 문제이다.
import java.io.*;
import java.util.*;
public class Solution_swe_d3_11285_다트게임 {
public static double[] r = new double[] {Math.pow(20,2),
Math.pow(40,2), Math.pow(60,2), Math.pow(80,2),
Math.pow(100,2), Math.pow(120,2), Math.pow(140,2),
Math.pow(160,2), Math.pow(180,2), Math.pow(200,2)};
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int tc = Integer.parseInt(br.readLine());
for(int t=1; t <= tc; t ++) {
int N = Integer.parseInt(br.readLine());
int score = 0;
for(int i=0; i<N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
double x = Double.parseDouble(st.nextToken());
double y = Double.parseDouble(st.nextToken());
for(int j=0; j<10; j++) {
if(Math.pow(x, 2) + Math.pow(y, 2) <= r[j]) {
//System.out.println("score+=" + (10-j));
score += (10 - j);
break;
}
}
}
System.out.println("#" + t + " " + score);
}
}
}
'Algorithm > 문제풀이' 카테고리의 다른 글
[Python][Programmers] 기초문제_12912, 12944, 12950, 12937, 12935 (0) | 2021.05.05 |
---|---|
[Java][Baekjoon]9501_꿍의 우주여행 (0) | 2021.01.11 |
[Java][Programmers]49191_순위 (0) | 2021.01.10 |
[Java][Baekjoon]2252_줄 세우기 (0) | 2021.01.10 |
[Java][Baekjoon]1960_에라토스테네스의 체 (0) | 2021.01.10 |