熱門文章

2025年10月21日 星期二

ZeroJudge 解題筆記:f716. 計算學期成績

作者:王一哲
日期:2025年10月21日


ZeroJudge 題目連結:f716. 計算學期成績

解題想法


換算的公式為 $$ y = 45 \times \frac{x-a}{b} + 55 $$ 假設原始成績最高分為 $imax$、最低分為 $imin$,換算後成績最高分為 $100$、最低分為 $55$,代入上式可得 $$ 100 = 45 \times \frac{imax-a}{b} + 55 ~~~~~ 55 = 45 \times \frac{imin-a}{b} + 55 $$ 由以上2式可得 $$ b = imax - a ~~~~~ a = imin $$

Python 程式碼


使用時間約為 18 ms,記憶體約為 3.3 MB,通過測試。
scores = tuple(map(int, input().split()))
a = min(scores)
b = max(scores) - a
print(a, b)


C++ 程式碼


使用時間約為 2 ms,記憶體約為 92 kB,通過測試。2025年10月15日重測,使用時間約為 0 ms,記憶體約為 48 kB,通過測試。
#include <cstdio>

int main() {
    int imin = 1E9, imax = 0, score;
    while(scanf("%d", &score) != EOF) {
        if (score < imin) imin = score;
        if (score > imax) imax = score;
    }
    printf("%d %d\n", imin, imax - imin);
    return 0;
}


沒有留言:

張貼留言