※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25495번 문제인 에어팟이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25495
에어팟을 주어진 핸드폰에 연결하려고 시도할 때마다 배터리의 소모량이 어떻게 변하는지를 직접 시뮬레이션을 돌리는 코드를 작성해 문제를 해결하자.
이는 이전에 연결했던 핸드폰이 무엇인지 나타내는 변수와 이전 차례에 소모한 배터리의 양이 얼마인지를 저장하는 변수, 그리고 현재 소모된 배터리의 양이 얼마인지를 저장하는 변수의 세가지 변수와 반복문과 조건문을 이용해 간단히 구현할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N;
int connected = 0, prv = 0, battery = 0;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
while (N--) {
int x; cin >> x;
if (x == connected) {
battery += prv * 2;
prv *= 2;
}
else {
connected = x;
battery += 2;
prv = 2;
}
if (battery > 99) connected = 0, prv = 0, battery = 0;
}
cout << battery;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 5157 // C++] Bailout Bonus (0) | 2023.01.06 |
---|---|
[BOJ 22093 // C++] Соцопрос (0) | 2023.01.05 |
[BOJ 11176 // C++] In the Shower (0) | 2023.01.05 |
[BOJ 21280 // C++] Förvirrad föreläsare (0) | 2023.01.05 |
[BOJ 20473 // C++] Гостиница (0) | 2023.01.05 |