알고리즘/백준
[백준/c++] 3135번: 라디오
녕이
2022. 7. 12. 11:31
728x90
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 MHz 증가
2. 주파수 1MHz 감소
3. 나머지 N개 버튼은 지정된 주파수로 이동
주파수 A와 N개 버튼 주파수 중 가장 B와 가까운 곳을 선택해서 closest에 넣어준다.
A가 아니라 N개 버튼 주파수라면 카운팅을 하나 해준다.
그리고, 반복문을 통해 + 혹은 - 를 진행해준다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int a, b, n, ans=0;
cin >> a >> b >> n;
int closest = a;
//가장 가까운 값 구하기
for(int i=0; i<n; i++) {
int bt;
cin >> bt;
if(abs(b-closest) > abs(b-bt)) closest = bt;
}
if(closest != a) ans++;
while(1){
if(b == closest) break;
//감소 혹은 증가
if(closest > b){ //B버튼
closest--;
ans++;
}else{ //A버튼
closest++;
ans++;
}
}
cout << ans << '\n';
return 0;
}
728x90