개발일지
article thumbnail

2628번 케익 자르기

https://codeup.kr/problem.php?id=4041


#문제


#풀이

#include <iostream>
using namespace std;

int main() {
	int a = 0;
	int b = 0;
	int c = 0;
	int d = 0;
	int e = 0;

	cin >> a;
	cin >> b;
	cin >> c;
	cin >> d;

	if(a > b) //a가 b보다 크면 a와 b의 값을 바꿔 준다.
	{
		e = a;
		a = b;
		b = e;
	}
	else if(c > d) //c가 d보다 크면 c와 d의 값을 바꿔 준다.
	{
		e = c;
		c = d;
		d = e;
	}


	if(c > a && c < b) //c가 a보다 크고 b보다 작으면(c가 a와 b 사이에 있으면)
	{
		if(d < a || d > b) //d가 a보다 작거나 b보다 크면
		{
			cout << "cross";
		}
		else
		{
			cout << "not cross";
		}
	}
	else if(d > a && d < b) //d가 a보다 크고 b보다 작으면(d가 a와 b 사이에 있으면)
	{
		if(c < a || c > b) //c가 a보다 작거나 b보다 크면
		{
			cout << "cross";
		}
		else
		{
			cout << "not cross";
		}
	}
	else //앞의 모든 조건에 해당이 안된다면
	{
		cout << "not cross";
	}
}

첫번째 현의 정보를 나타내는 두 정수 a,b값 사이에 d나 c중 하나가 사이에있고 다른하나가 a,b사이에 없으면 cross

아니면 not cross

 

#예

a = 12

b = 53

c = 99

d = 45

 

12 와 53 사이에 45가 있고 99는 없으므로 cross


#결과

둥근 원을그려보면서 선을 하나씩 그어보면서 공통점을 찾아 풀었다.

 
profile

개발일지

@damin06

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!