例如給你一隻蝸牛的數據 H = 6, U = 3, D = 1, F = 10。而這隻蝸牛會如以下表顯示,在第 3 天爬出井。
Day | Initial Height | Distance Climbed | Height After Climbing | Height After Sliding |
1 | 0' | 3' | 3' | 2' |
2 | 2' | 2.7' | 4.7' | 3.7' |
3 | 3.7' | 2.4' | 6.1' | - |
其中要注意的就是疲勞因子是以百分比去計算,還有如果因為疲勞而使得白天上升高度變成負值,就使白天上升高度為 0。
程式碼如下:
while (scanf("%f %f %f %f", &H, &U, &D, &F) == 4 && H != 0)By David.K
{
int days = 1;
float nowHigh = 0.0, sub = U * F / 100;
while (1)
{
nowHigh += U;
if (nowHigh > H) { printf("success on day %d\n", days); break;}
nowHigh -= D;
if (nowHigh < 0) { printf("failure on day %d\n", days); break;}
U -= sub;
if (U < 0) U = 0;
days ++;
}
}
p573題目連結
回ACM題庫目錄
回首頁
沒有留言:
張貼留言