프로그래밍_백준/C++

(C++) 백준 1085번 직사각형에서 탈출

공부하려구요 2023. 2. 26. 13:28
728x90
반응형

 

1085번은 직사각형을 탈출하는 문제입니다!

 

저는 먼저 공백을 포함해서 값을 받고 이 값을 공백을 기준으로 나누어서 b[]에 저장했어요!

그리고 탈출하기 위해서 최소 거리를 찾기 위해 직사각형과 x, y를 뺀 값을 따로 저장했습니다

그리고 그 값을 비교하며 찾는 방식으로 해결했습니다!

 

#include<iostream>
#include<string>
#include<sstream>

using namespace std;

int main()
{
	int a, min_index=0, i = 0, j=0;
    int b[4] = {0,}//x, y의 점, 사각형의 가로, 세로 총 4개이므로 4로 선언
	int result[4] = {0,};
	string str;
	stringstream stream;

	getline(cin, str);//공백을 포함하여 값을 받기
	stream.str(str);//공백을 구분해서 값 나누기
	
	while (stream >> a) {
		b[i] = a;
		i++;
	}//b[]를 증가 시키면서 값 저장
    
	for (int i = 0; i < 2; i++) {
		result[i] = b[i];//result[0],[1]에 x, y값 저장
	}

	for (int i = 2; i < 4; i++) {
		result[i] = b[j+2] - b[j];
		j++;
	}//result[3], result[4]에 가로-x값, 세로-y값 저장
    
	for (int i = 1; i < 4; i++) {
		min_index = (result[min_index] < result[i]) ? min_index : i;
	}//더 작은 값 찾기
    
	cout << result[min_index];
}

 

728x90
반응형