1297번: TV 크기

1297번 TV 크기

1297번 TV 크기 클릭시 문제로 이동

1) 문제




2) 문제 설명


TV의 대각선과 높이와 너비의 비율이 주어질때 TV의 높이와 너비를 구하는 문제이다.

ex) 대각선 52, 높이와 너비의 비율 9 : 16이 주어지면

TV의 높이 25 너비 45를 구하면 된다.


3) 풀이 과정


1번 풀이)

비율 H(높이) : W(너비)가 있을때 xH는 높이, xW는 너비가 되는 x의 값을 구한다고 생각하자

피타고라스의 정리를 이용하여 D(대각선)을 구하면

위의 식과 입력받은 D, H, W를 통해서 x를 구하고

높이 xH와 너비 xW를 구하면 된다. 


2번 풀이)

높이, 너비의 비율을 피타고라스로 정리하면 

(여기서의 R은 대각선의 비율이다.)

비율을 이용해서 높이 DH/R, 너비 DW/R를 구하면 된다.



4) 핵심


2번 풀이)

TV의 비율을 H(높이) : W(너비) : R(대각선)로 두었을 경우

대각선의 비율은이다.

실제 TV크기를 xH, xW, xR로 두면

xR은 D(입력받은 대각선)이므로

이므로 나머지 xH, xW를 구할 수 있다.

(1번 풀이 x의 식에 R을 대입해도 x를 구할 수 있다.)


5) 핵심 코드

2번 코드)

1
2
3
4
    R = sqrt((H*H) + (W*W));
    
    xH = (H * D) / R;
    xW = (W * D) / R;
cs


6) 기타


sqrt(제곱근)는 사용하기 위해서는 #include<cmath>을 해주어야 합니다. (c++기준)


최대한 쉽게 설명한다고 풀어쓰고 있어서 더 난잡해 보일 수도 있습니다. ㅠ

읽기 불편한 부분이나 이해가 되지 않는 부분은 댓글 주시면 수정하겠습니다.

다른 알고리즘이나 다른 의견이 있으시면 댓글 주시면 감사하겠습니다 :) 


'Training > Acmicpc' 카테고리의 다른 글

1475번: 방 번호  (0) 2017.08.31
8741번: 이진수의 합  (0) 2017.08.12
1002번: 터렛  (0) 2017.07.30