그럴듯한 개발 블로그
Published 2023. 10. 12. 16:13
백준 1459 걷기 c++ <algorithm>/백준
반응형

https://www.acmicpc.net/problem/1459

 

1459번: 걷기

세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 (

www.acmicpc.net

어디서 비슷한 문제 풀었던거 같은데 아마 프로그래머스인가보다.

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace	std;

long long X, Y, line, cross, res = 0;

int	main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

	cin >> X >> Y >> line >> cross;
	if (line * 2 < cross)
		res = (X + Y) * line;
	else if (cross < line) { // 일자로 이동할 때 대각선이 직선보다 더 빠르면
		int maxCross = min(X, Y);
		int remainDist = X - maxCross + Y - maxCross;
		if (remainDist % 2) { // 홀수이면
			res += line;
			remainDist--;
		}
		res += maxCross * cross + remainDist * cross;
	}
	else {
		int maxCross = min(X, Y);
		res = maxCross * cross + (X - maxCross) * line + (Y - maxCross) * line;
	}
	cout << res;
}
반응형

'<algorithm> > 백준' 카테고리의 다른 글

백준 20310 타노스 c++  (1) 2023.10.24
백준 1911 흙길 보수하기 c++  (1) 2023.10.14
백준 2879 코딩은 예쁘게 c++  (1) 2023.10.09
백준 1026 보물 c++  (1) 2023.10.05
백준 2217 로프 c++  (0) 2023.10.05
profile

그럴듯한 개발 블로그

@donghyk2

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