S. Kevin 창고

출처 : www.dovelet.com  <- 클릭

 프로그램 명: in_out(open)
제한시간: 1 초

그림과 같이 사각형의 중심의 좌표가 주어지고 다른 한 점이 주어질 때 이 점이 사각형 내부의 점 인지 아닌지를 판별하는 문제이다.

입력

  • 첫 줄에는 중심의 좌표와 중심에서 꼭지점 사이거리가
  • 두 번째 줄에는 판별할 점의 좌표가 주어진다.
입력되는 좌표 범위는 -300 ~ 300 사이이고 , 중심에서 꼭지점 사이의 거리 r 은 1 <= r <= 300 이다.

출력

내부의 점이면 yes , 아니면 no 를 출력한다.

입출력 예

입력

2 2 3
-1 2

출력

yes

입력

2 2 3
-1 3

출력

no

 

math.h에 abs함수 즉, 절대값을 구하는 함수가 내장되어 있습니다.
하지만 dovelet에서는 gcc로 채점을 하기 때문에 채점되지 않기 때문에
abs함수를 직접 만들어서 사용하였습니다.

* 함수 설명
int abs( int x ) {
if ( x < 0 ) return x * -1; //만약 x가 0 보다 작다면(음수), x에 -1을 곱하여 리턴한다.
	return x; // 전 if 문에서 걸리지 않으면 그대로 리턴한다.
}
 

즉, 음수에다가 -1을 곱해주면 양수(자연수)가 된다.
ex) -1 * -1 = 1, -356 * -1 = 356

if문 밑에 else를 쓰나 않 쓰나 같기 때문에 저는 쓰지 않았습니다.
어차피 if문에 걸리면 함수에서 나가니까요.

나는 [질/답] 에 힌트를 올려주신 graciful님께 감사를 표한다.
[질/답]에 보면 마름보 방정식을 이용하면 더 쉽다는 graciful님의
글이 올라와 있다.

'프로그래밍 > 알고리즘' 카테고리의 다른 글

[BOJ] 1007번. Vector Matching  (0) 2017.11.22
프로그램 명: suffix_array(open)  (0) 2012.06.22
[더블릿] KnapSack  (0) 2012.01.06
[더블릿] 행오버  (0) 2012.01.04
버스  (0) 2012.01.03