Lọc tín hiệu

Đề bài

Mô tả

Trong một thành phố thông minh, 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 xóa 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 xóa 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.

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ả.

Dữ liệu vào

  • Dòng thứ nhất chứa số nguyên dương n (3n3·105).
  • Dòng thứ hai chứa n số nguyên dương Ai (1Ai104).

Dữ liệu ra

Dãy số nguyên dương A sau khi xóa.

Ràng buộc

  • 3n3·105
  • 1Ai104

Ví dụ

Input Output Giải thích
14
1 1 3 3 3 1 1 2 1 1 2 2 2 1
1 2

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0