프로그래밍_백준/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
반응형