熱門文章

2025年3月24日 星期一

ZeroJudge 解題筆記:g496. 彗星列車 (Comet)

作者:王一哲
日期:2025年3月24日



ZeroJudge 題目連結:g496. 彗星列車 (Comet)

解題想法


注意:這題每組測資有多筆測試資料,而且每筆測試資料之間似乎有空行,如果用 Python 解題要忽略空行,否則會出錯。

Python 程式碼


使用時間約為 19 ms,記憶體約為 3.3 MB,通過測試。
import sys

for line in sys.stdin:
    if len(line.strip()) == 0: continue  # 忽略空行
    a, s = map(int, line.split())
    if s%a == 0: print(s//a)
    else: print(s//a + 1)


C++ 程式碼


用 cmath 函式庫的 ceil,先計算 s/a 的值再取 ceil,計算時及回傳值是浮點數,要再轉回整數,但是這樣無法通過第8筆測資。
#include <cstdio>
#include <cmath>  // for ceil
using namespace std;

int main() {
    int a, s;
    while(scanf("%d %d", &a, &s) != EOF) {
        printf("%d\n", int(ceil((float)s/(float)a)));
    }
    return 0;
}

還是回來用標準寫法,使用時間約為 6 ms,記憶體約為 96 kB,通過測試。
#include <cstdio>
using namespace std;

int main() {
    int a, s;
    while(scanf("%d %d", &a, &s) != EOF) {
        if (s%a == 0) printf("%d\n", s/a);
        else printf("%d\n", s/a + 1);
    }
    return 0;
}


沒有留言:

張貼留言