Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Rust] HRTB for<'a> — process_all đa hàm trên &[(i64,i64)]

    Viết hàm fn apply_all<F>(items: &[(i64, i64)], f: F) -> Vec<i64> where F: for<'a> Fn(&'a (i64, i64)) -> i64 trả về Vec với f áp lên từng phần tử. Đọc n cặp (a_i, b_i) rồi đọc op ('sum' hoặc 'diff' hoặc 'mul'). Áp apply_all với closure tương ứng (a+b / a-b / a*b) rồi in mỗi giá trị trên một dòng. Cuối cùng in một dòng 'SUM ' với S là tổng các giá trị đó.

    • Định dạng đầu vào:

      Dòng 1: n. n dòng sau: a_i b_i. Dòng cuối: op.

    • Ràng buộc đầu vào:

      1 <= n <= 500; |a_i|,|b_i| <= 10^4; op trong {sum, diff, mul}

    • Định dạng đầu ra:

      n dòng giá trị rồi một dòng 'SUM '.

    Ví dụ:

    Đầu vào:

    3
    1 2
    3 4
    5 6
    sum
    

    Đầu ra:

    3
    7
    11
    SUM 21

    Giải thích:

    3, 7, 11 -> SUM 21

    Đang tải editor...