Bài 7.6. Phân Tích Lịch Trình Chuyến Bay - [Độ khó: Khó]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Bài 7.6. Phân Tích Lịch Trình Chuyến Bay - [Độ khó: Khó]

Mô tả bài tập: Bạn đang làm việc cho một hãng hàng không và cần phát triển một công cụ để phân tích lịch trình các chuyến bay. Công cụ này sẽ nhận vào thông tin về giờ khởi hành và giờ đến của một chuyến bay, sau đó kiểm tra tính hợp lệ của chúng và tính toán thời gian bay thực tế.

Cụ thể, bạn cần:

  1. Kiểm tra định dạng giờ: Giờ phải ở định dạng "HH:MM" (ví dụ: "09:30", "23:05"). HH là giờ (00-23), MM là phút (00-59). Chuỗi phải có độ dài chính xác 5 ký tự và ký tự thứ 3 phải là dấu hai chấm ':'.
  2. Kiểm tra tính hợp lệ về thời gian: Giờ đến phải sau giờ khởi hành. Chuyến bay có thể kéo dài qua nửa đêm (ví dụ, khởi hành 23:00 và đến 02:00 ngày hôm sau).
  3. Tính thời gian bay: Tính tổng số phút bay thực tế.
  4. Đưa ra cảnh báo: Nếu thời gian bay quá ngắn (dưới 15 phút) hoặc quá dài (trên 1000 phút), hệ thống sẽ đưa ra cảnh báo.
INPUT FORMAT

Dữ liệu đầu vào gồm hai dòng:

  • Dòng 1: Chuỗi gio_khoi_hanh - Giờ khởi hành của chuyến bay.
  • Dòng 2: Chuỗi gio_den - Giờ đến của chuyến bay.
OUTPUT FORMAT
  • Nếu gio_khoi_hanh hoặc gio_den không đúng định dạng "HH:MM": In ra "Dinh dang gio khong hop le."
  • Nếu gio_den không sau gio_khoi_hanh (và không phải chuyến bay qua đêm hợp lệ): In ra "Gio den phai sau gio khoi hanh."
  • Nếu mọi thứ hợp lệ:
    • In ra dòng đầu tiên: "Thoi gian bay: X phut." (với X là tổng số phút bay).
    • Nếu thời gian bay dưới 15 phút: In thêm dòng thứ hai "Canh bao: Chuyen bay qua ngan."
    • Nếu thời gian bay trên 1000 phút: In thêm dòng thứ hai "Canh bao: Chuyen bay qua dai."
    • Nếu cả hai điều kiện cảnh báo đều không xảy ra, không in thêm gì.
Ví dụ 1:

Input:

09:30
11:45

Output:

Thoi gian bay: 135 phut.

Giải thích:

  • Khởi hành 09:30, đến 11:45.
  • Thời gian bay là (11 * 60 + 45) - (9 * 60 + 30) = 705 - 570 = 135 phút.
  • 135 phút không quá ngắn (<15) cũng không quá dài (>1000).
Ví dụ 2 (Chuyến bay qua đêm):

Input:

23:00
02:00

Output:

Thoi gian bay: 180 phut.

Giải thích:

  • Khởi hành 23:00 (ngày 1), đến 02:00 (ngày 2).
  • Thời gian bay từ 23:00 đến 00:00 (nửa đêm) là 60 phút.
  • Thời gian bay từ 00:00 đến 02:00 là 2 * 60 = 120 phút.
  • Tổng thời gian bay: 60 + 120 = 180 phút.
Ví dụ 3 (Định dạng sai):

Input:

7:30
10:00

Output:

Dinh dang gio khong hop le.

Giải thích:

  • Giờ khởi hành "7:30" không đúng định dạng HH:MM vì '7' chỉ có một chữ số, thiếu số 0 ở đầu.
Ví dụ 4 (Giờ đến không hợp lệ):

Input:

10:00
09:00

Output:

Gio den phai sau gio khoi hanh.

Giải thích:

  • Giờ đến (09:00) trước giờ khởi hành (10:00) và không phải trường hợp chuyến bay qua đêm (ví dụ 10:00 hôm nay đến 09:00 hôm sau là không hợp lệ).
Ví dụ 5 (Cảnh báo):

Input:

10:00
10:10

Output:

Thoi gian bay: 10 phut.
Canh bao: Chuyen bay qua ngan.

Giải thích:

  • Thời gian bay là 10 phút, nhỏ hơn 15 phút, nên có cảnh báo "Chuyen bay qua ngan".

Comments

There are no comments at the moment.

Zalo