Lọc tín hiệu (TS10 LQĐ Đà Nẵng 2025)

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Trong một thành phố thông minh, hệ thống cảm biến giao thông, hệ thống cảm biến giao thông gửi dữ liệu liên tục về trung tâm xử lí, mỗi tín hiệu cảm biến là một số nguyên dương. Tuy nhiên, do lỗi kĩ thuật, có những chuỗi tín hiệu bị trùng lặp ba lần liên tiếp gây nhiễu loạn quá trình phân tích. Đội kĩ thuật cần làm sạch tín hiệu theo quy tắc đặc biệt để đảm bảo dữ liệu đầu vào là tối ưu nhất.

Chuỗi tín hiệu ban đầu là một dãy số nguyên có \(n\) số. Hệ thống sẽ lọc nhiễu tín hiệu trên chuỗi đó theo quy trình như sau:

  • Bước \(1\): Từ trái sang phải, nếu phát hiện \(3\) tín hiệu liên tiếp giống nhau, hệ thống xoá bộ ba này khỏi dãy và đánh lại chỉ số từ đầu, rồi chuyển sang bước \(2\).

  • Bước \(2\): Từ phải sang trái, nếu phát hiện \(3\) tín hiệu liên tiếp giống nhau, hệ thống xoá bộ ba này khỏi dãy và đánh lại chỉ số từ đầu, rồi chuyển về bước \(1\).

Quy trình này lặp lại cho đến khi không còn bộ ba nào giống nhau liên tiếp.

Yêu cầu: Viết chương trình mô phỏng quy trình lọc nhiễu tín hiệu và ghi ra kết quả.

Input

Đọc từ file TINHIEU.INP gồm:

  • Dòng thứ nhất chứa số nguyên dương \(n\) \((3 \leq n \leq 3 \times 10 ^ 5)\).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(A_i\) \((1 \leq A_i \leq 10 ^ 4)\).

Output

Ghi ra file TINHIEU.OUT dãy số nguyên dương \(A\) sau khi xoá.

Example

Test 1
Input
14
1 1 3 3 3 1 1 2 1 1 2 2 2 1
Output
1 2

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: