日期: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;
}
沒有留言:
張貼留言