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] Quét cổng trong cửa sổ thời gian

    Phát hiện quét cổng theo cửa sổ trượt

    Từ log <t> <IP> <PORT>, một IP là scanner nếu tồn tại một cửa sổ thời gian độ dài W giây trong đó IP đó chạm tới ≥ K cổng phân biệt. Cụ thể: xét các sự kiện của mỗi IP theo thời gian tăng dần; với cửa sổ [t, t+W), đếm số cổng phân biệt.

    In các IP là scanner theo thứ tự tăng dần. Nếu không có, in NONE.

    Ví dụ

    W = 5, K = 3. 10.0.0.1 chạm cổng 1@t0, 2@t1, 3@t2 → 3 cổng trong 5s → scanner.

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

      Dòng 1: n W K. n dòng: <t> <IP> <PORT>.

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

      1 ≤ n ≤ 100000. 1 ≤ W ≤ 10^9. 1 ≤ K ≤ 65535.

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

      Các IP scanner (tăng dần), hoặc NONE.

    Ví dụ:

    Đầu vào:

    3 5 3
    0 10.0.0.1 1
    1 10.0.0.1 2
    2 10.0.0.1 3
    

    Đầu ra:

    10.0.0.1

    Giải thích:

    3 cổng phân biệt (1,2,3) trong cửa sổ 5s → `10.0.0.1` là scanner.

    Đang tải editor...