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

    solution

    Đề bài: [An toàn thông tin] Khôi phục dòng thời gian sự cố từ nhật ký hệ thống

    Khi tái dựng dòng thời gian (timeline reconstruction) của một sự cố an ninh, điều tra viên thu thập các sự kiện từ nhiều nguồn nhật ký khác nhau, mỗi sự kiện có một dấu thời gian Unix epoch (số giây kể từ 00:00:00 UTC ngày 01/01/1970), rồi sắp xếp lại theo đúng trình tự thời gian xảy ra để phân tích.

    Cho nnn sự kiện, mỗi sự kiện gồm một epoch và tên (có thể gồm nhiều từ), hãy sắp xếp các sự kiện theo epoch tăng dần và in ra dòng thời gian đã khôi phục dưới định dạng UTC chuẩn. Nếu hai sự kiện có cùng epoch, giữ nguyên thứ tự xuất hiện ban đầu trong dữ liệu đầu vào (sắp xếp ổn định).

    Ví dụ: epoch 0 tương ứng thời điểm 1970-01-01 00:00:00 (giờ UTC).

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

      Dòng 1: số nguyên nnn (0≤n≤10000 \le n \le 10000≤n≤1000) — số sự kiện. nnn dòng tiếp theo, mỗi dòng dạng <epoch> <tên sự kiện>, trong đó epoch là số nguyên (có thể bằng 0, không âm) và phần còn lại của dòng (có thể chứa khoảng trắng) là tên sự kiện.

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

      In ra nnn dòng theo thứ tự epoch tăng dần (ổn định khi bằng nhau), mỗi dòng dạng YYYY-MM-DD HH:MM:SS <tên sự kiện> theo giờ UTC (định dạng 24 giờ, đủ 2 chữ số cho giờ/phút/giây, 4 chữ số cho năm). Nếu n=0n = 0n=0 thì không in dòng nào.

    Ví dụ:

    Đầu vào:

    3
    1690000200 Logout
    1690000000 Login
    1690000100 FileAccess

    Đầu ra:

    2023-07-22 04:26:40 Login
    2023-07-22 04:28:20 FileAccess
    2023-07-22 04:30:00 Logout
    

    Đầu vào:

    1
    1700000000 SingleEvent

    Đầu ra:

    2023-11-14 22:13:20 SingleEvent
    

    Đang tải editor...