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

    solution

    Đề bài: [Lập trình Web & Backend] ACK: tin chưa được xác nhận

    ACK: tin chưa được xác nhận

    Cơ chế acknowledgement: mỗi tin gửi đi có một id. SEND <msgId> đánh dấu tin đang chờ ACK. ACK <msgId> xác nhận đã nhận (gỡ khỏi danh sách chờ). Sau khi xử lý hết, in các <msgId> chưa được ACK theo thứ tự gửi, mỗi dòng một id; nếu tất cả đã ACK, in ALL ACKED.

    ACK một id chưa SEND hoặc đã ACK thì bỏ qua. SEND trùng id giữ lần gửi đầu.

    Ví dụ

    Input:
    5
    SEND m1
    SEND m2
    ACK m1
    SEND m3
    ACK m9
    
    Output:
    m2
    m3
    
    • Định dạng đầu vào:

      Dòng đầu N. N dòng SEND <id> hoặc ACK <id>.

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

      0 ≤ N ≤ 1000.

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

      Danh sách id chưa ACK theo thứ tự gửi; hoặc ALL ACKED.

    Ví dụ:

    Đầu vào:

    5
    SEND m1
    SEND m2
    ACK m1
    SEND m3
    ACK m9
    

    Đầu ra:

    m2
    m3

    Giải thích:

    m1 đã ack; m9 chưa từng send nên ack bị bỏ qua; còn m2,m3.

    Đang tải editor...