728x90
https://www.acmicpc.net/problem/14470
14470번: 전자레인지
JOI 군은 식사 준비를 위해 A℃의 고기를 전자레인지로 B℃까지 데우려고 한다. 고기는 온도가 0℃보다 낮을 때 얼어 있고, 0℃보다 높을 때는 얼어 있지 않다. 온도가 정확히 0℃일 때 고기는 얼어
www.acmicpc.net
이 문제의 핵심은 0도일 때, 얼었는지 얼지 않았는지 알 수 없다는 것이다. 그러므로 bool형의 frozen 변수를 선언해줘서 처음에 얼었던 상태라면 frozen을 true로 만들어서 A==0이고 frozen이 true인 경우 해동하도록 구현해주고 만약 처음에 얼지 않았다면 frozen에 false를 할당해서 A가 0이라면 해동할 필요 없이 온도를 높이기만 하도록 구현해준다.
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int a, b, c, d, e;
int time = 0;
bool frozen = true;
cin >> a >> b >> c >> d >> e;
while(a != b){
if(a < 0){
frozen = true;
time += c * abs(a);
a = 0;
}else if(a == 0 && frozen){
time += d;
frozen = false;
}else if(a >= 0){
time += e * (b-a);
a = b;
}
}
cout << time << '\n';
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준/c++] 1173번: 운동 (0) | 2022.04.22 |
---|---|
[백준/c++] 3028번: 창영마을 (0) | 2022.04.22 |
[백준/c++] 10804번: 카드 역배치 (0) | 2022.04.22 |
[백준/c++] 1592번: 영식이와 친구들 (0) | 2022.04.22 |
[백준/c++] 9465번: 스티커 (0) | 2022.03.10 |