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

    solution

    Đề bài: [Hệ điều hành Unix] passwd: sắp xếp tài khoản theo UID

    Đọc /etc/passwd từ stdin (định dạng tên:x:uid:gid:gecos:home:shell).

    In ra danh sách uid<TAB>tên sắp xếp tăng dần theo UID (số học). Nếu hai dòng có cùng UID thì giữ thứ tự xuất hiện trong input (sắp xếp ổn định). Dùng một ký tự tab giữa uid và tên.

    Ví dụ:

    Input:

    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    root:x:0:0:root:/root:/bin/bash
    bob:x:1001:1001:Bob:/home/bob:/bin/bash
    

    Output:

    0	root
    1000	alice
    1001	bob
    
    • Định dạng đầu vào:

      Nhiều dòng định dạng /etc/passwd.

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

      0 ≤ UID ≤ 65535. 1 ≤ số dòng ≤ 1000.

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

      Các dòng uid<TAB>tên sắp xếp tăng dần theo UID (ổn định khi trùng).

    Ví dụ:

    Đầu vào:

    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    root:x:0:0:root:/root:/bin/bash
    bob:x:1001:1001:Bob:/home/bob:/bin/bash
    

    Đầu ra:

    0	root
    1000	alice
    1001	bob

    Giải thích:

    Sắp xếp số học theo UID: 0(root) < 1000(alice) < 1001(bob); -s giữ ổn định khi UID trùng.

    Đang tải editor...