※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 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
'BOJ' 카테고리의 다른 글
[BOJ 10855 // C++] Extreme Sort (0) | 2023.01.25 |
---|---|
[BOJ 27258 // C++] Дроби (0) | 2023.01.24 |
[BOJ 27260 // C++] Красивые перестановки (0) | 2023.01.24 |
[BOJ 25376 // C++] 이상한 스위치 (0) | 2023.01.24 |
[BOJ 25374 // C++] 등급 계산하기 (0) | 2023.01.23 |