Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: Ghi K block ra K file riêng rồi merge thành 1 file

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 8: Dòng dữ liệu vào/ra và tệp — khóa Lập trình Java

    Viết chương trình:

    1. Đọc K (số block) từ stdin. Tiếp theo K nhóm, mỗi nhóm gồm:
      • Dòng đầu: số dòng m_i của block.
      • m_i dòng nội dung.
    2. Ghi block thứ i vào file seg_<i>.txt (i từ 1 đến K) bằng BufferedWriter.
    3. Mở merged.txt bằng BufferedWriter, đọc lần lượt từng file seg_1.txt … seg_K.txt bằng BufferedReader và ghi nối tiếp vào merged.txt (giữ nguyên thứ tự dòng).
    4. Đọc lại merged.txt và in tổng số dòng:
      total: <số dòng trong merged.txt>
      
    • Định dạng đầu vào:
      • Dòng 1: K (1 ≤ K ≤ 20)
      • Với mỗi block i: dòng đầu là m_i, sau đó m_i dòng nội dung
    • Ràng buộc đầu vào:

      Tổng số dòng ≤ 10⁴

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

      1 dòng total: <N>

    Ví dụ:

    Đầu vào:

    2
    2
    alpha
    beta
    3
    one
    two
    three
    

    Đầu ra:

    total: 5
    

    Giải thích:

    Block1: 2 dòng, Block2: 3 dòng → merged 5 dòng → total: 5.

    Đầu vào:

    1
    1
    only
    

    Đầu ra:

    total: 1
    

    Giải thích:

    1 block 1 dòng.

    Đầu vào:

    3
    1
    a
    1
    b
    1
    c
    

    Đầu ra:

    total: 3
    

    Giải thích:

    3 block, mỗi block 1 dòng → 3 dòng.

    Đầu vào:

    2
    3
    x1
    x2
    x3
    2
    y1
    y2
    

    Đầu ra:

    total: 5
    

    Giải thích:

    Tổng 5 dòng.

    Chủ đề

    ☕ JavaJavaIOTất cả môn học

    Đang tải editor...