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

    solution

    Đề bài: [Java] Tổng hợp: Singleton + Observer + Strategy

    Xây EventBus (Singleton) cho phép subscribe(topic, Observer) và publish(topic, payload). Observer là interface có void on(String topic, String payload, StringBuilder out). Có hai loại Observer: UpperObserver in ':' (payload uppercase), LowerObserver in ':' (payload lowercase). Đồng thời có Strategy filtering ở phía EventBus: interface FilterStrategy có boolean accept(String payload). Hai strategy: AcceptAll trả true; LenStrategy(int min) chỉ accept khi payload.length() >= min. EventBus.setFilter(FilterStrategy). Khi publish, nếu filter từ chối thì bỏ qua. Đọc N thao tác:

    • 'F A' đặt filter AcceptAll
    • 'F L k' đặt filter LenStrategy(k)
    • 'S topic typ' subscribe (typ='U' hoặc 'L')
    • 'P topic payload' publish.
    • Định dạng đầu vào:

      Dòng 1: N. N dòng thao tác (payload là một từ không khoảng trắng).

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

      1 <= N <= 10^4.

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

      Các dòng output từ observer khi publish được filter chấp nhận, theo thứ tự subscribe.

    Đang tải editor...