Lọc tín hiệu
Nộp bài giải
Điểm:
0,50 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Javascript, Kotlin, Pascal, Python, Scratch
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ó 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 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 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 ().
- Dòng thứ hai chứa số nguyên dương ().
Dữ liệu ra
Dãy số nguyên dương sau khi xóa.
Ràng buộc
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