※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 3135번 문제인 라디오이다.
문제는 아래 링크를 확인하자.

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

 

3135번: 라디오

첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다).

www.acmicpc.net

버튼을 최소 횟수로 누를 후보방법은 다음과 같다.

1) 주파수를 1 증가 또는 감소시키는 버튼만을 이용한다

2) N개의 즐겨찾기 버튼 중 하나를 맨 처음에 누르고, 그 이후로 주파수를 1 증가 또는 감소시키는 버튼만을 이용한다.

 

이와 같은 총 N+1가지의 경우를 따져 문제를 해결하자.

 

즐겨찾기 버튼을 누르는 것 또한 버튼을 누르는 횟수에 포함됨에 유의하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int A, B, N;
int ans;

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

	cin >> A >> B >> N;
	ans = abs(A - B);

	while (N--) {
		int x; cin >> x;
		ans = min(ans, abs(x - B) + 1);
	}

	cout << ans;
}
728x90

+ Recent posts