Môn Tin họcQuản lý học tập Tin học

Phát hiện đợt nhịp tim bất thường kéo dài trong dữ liệu sức khoẻ

Lớp 10Lập trìnhpythonGiải quyết vấn đề với máy tínhVận dụng cao

Thang điểm 10 · 6 test case chấm tự động · 4 tiêu chí chấm

Một ứng dụng theo dõi sức khoẻ ghi lại dãy n giá trị nhịp tim đo mỗi giờ (đơn vị: nhịp/phút) và có một ngưỡng nguy hiểm T. Một đợt bất thường là 3 giờ liên tiếp mà cả 3 giá trị nhịp tim đều lớn hơn T.

Hãy viết chương trình thực hiện:

  • Tìm và in ra tất cả chỉ số bắt đầu (đếm từ 0) của các đợt bất thường có trong dãy, các chỉ số cách nhau một khoảng trắng, trên một dòng. Nếu không có đợt bất thường nào, in ra Không tìm thấy mẫu (và bỏ qua bước đánh dấu bên dưới).

  • Nếu tìm thấy ít nhất một đợt, dùng insert() để chèn giá trị -1 (đánh dấu đã cảnh báo) ngay sau vị trí kết thúc của đợt bất thường đầu tiên tìm được (tức là chèn vào chỉ số vị trí bắt đầu + 3).

  • In ra danh sách nhịp tim cuối cùng (đã hoặc chưa được chèn -1 tuỳ trường hợp).

Lưu ý quan trọng: vòng lặp duyệt tìm mẫu phải xét đúng đến vị trí bắt đầu cuối cùng có thể có (kể cả khi đợt 3 giờ nằm ở đúng 3 vị trí cuối của dãy) — đây là lỗi biên cần tránh khi kiểm thử.

Định dạng vào: dòng 1 là n; dòng 2 là n số nguyên nhịp tim; dòng 3 là ngưỡng T.

Định dạng ra: như mô tả trên.

Input

Output

Giải thích

10

70 75 130 140 150 72 160 170 180 68

120

2 6

[70, 75, 130, 140, 150, -1, 72, 160, 170, 180, 68]

Có 2 đợt bất thường bắt đầu ở vị trí 2 và 6; đợt đầu tiên (vị trí 2) được chèn -1 ngay sau vị trí 4 (chỉ số 5)

5

65 70 75 80 68

120

Không tìm thấy mẫu

[65, 70, 75, 80, 68]

Không có giá trị nào vượt ngưỡng nên không có đợt bất thường

#insert#while#tìm kiếm mẫu#kiểm thử biên#phân tích thuật toán#category:danh_gia#difficulty:analyzing

Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.

Giáo viên đăng nhập để giao bài