풀이
#include <iostream>
using namespace std;
FILE* stream;
int main(void) {
//freopen_s(&stream, "Text.txt", "r", stdin);
int D, F, H;
float U; // Double 사용하면 답이 달라짐
while (cin >> H >> U >> D >> F) {
if (H == 0) {
break;
}
float f = U * F / 100; // Double 사용하면 답이 달라짐
float i = 0; // Double 사용하면 답이 달라짐
int d = 1;
while (true) {
// Day
i += U;
if (U > 0)
U -= f;
// Leave
if (i > H) {
break;
}
//cout << " Climbed : " << U << " H Climbed : " << i;
// Night
i -= D;
// At Bottom
if (i < 0) {
break;
}
d += 1;
}
if (i < 0) {
cout << "failure on day " << d << endl;
}
else {
cout << "success on day " << d << endl;
}
}
return 0;
}
'알고리즘 트레이닝 > UVa' 카테고리의 다른 글
441 - Lotto (0) | 2019.11.06 |
---|---|
146 - ID Codes (0) | 2019.11.04 |
11799 - Horror Dash (0) | 2019.11.02 |
11559 - Event Planning (0) | 2019.11.02 |
11172 - Relational Operator (0) | 2019.11.02 |