Công tắc thông minh

Điểm số: 1

Giới hạn thời gian: 2s

Giới hạn bộ nhớ: 512 MB

Người đăng: admin

Công ty Hunonic đang phát triển một tính năng mới cho dòng sản phẩm công tắc thông minh điều khiển bằng điện thoại, đó là “hẹn giờ tuần hoàn”. Khi hẹn giờ tuần hoàn, người dùng sẽ chọn thời gian bắt đầu và thời gian kết thúc cho hẹn giờ. Khi đến giờ chạy, công tắc sẽ liên tục bật tắt trong 1 khoảng thời gian x (giây) một cách tự động. Ví dụ cứ bật 1s lại tắt 1s, hoặc bật 2s rồi lại tắt 3s,…. Như vậy người dùng có thể ứng dụng vào rất nhiều việc như đặt thời gian chạy máy sục khí cho bể cá, cho lồng nuôi tôm theo chu kỳ, hay đơn giản là Tết sắp đến, lắp vào đèn trần cho nháy liên tọi, kèm theo ít nhạc nữa là có quán bar, quán karaok tại nhà.

 

Do nhiều nguyên nhân, trong đó có tiết kiệm chi phí linh kiện để sản xuất, hẹn giờ tuần hoàn sẽ được lưu trên server, cứ đến thời gian bắt đầu thì server sẽ gửi lệnh cho thiết bị và nó sẽ bắt đầu thực hiện bật tắt theo chu kỳ, đến giờ kết thúc thì gửi lệnh dừng lại. Việc bật tắt theo chu kỳ là thiết bị tự làm được, server chỉ gửi lệnh bắt đầu và kết thúc mà thôi. Kết thúc chu kỳ là thiết bị không còn tự động bật tắt nữa.

 

Một vấn đề nảy sinh là server chỉ có thể quét data và thực hiện gửi lệnh mỗi phút một lần duy nhất chứ không thể quét mọi lúc, và nếu thời gian hiện tại bằng với thời gian bắt đầu hoặc kết thúc thì server mới gửi lệnh tương ứng. Điều này dẫn đến nếu thời gian hiện tại nằm trong khoảng thời gian bắt đầu và kết thúc thì server sẽ không thể gửi lệnh được. Do đó khi người dùng đặt chu kỳ, ta phải kiểm tra xem thời gian hiện tại có nằm trong khoảng thời gian bắt đầu và kết thúc không, nếu có thì phải gửi luôn 1 lệnh cho thiết bị để kích hoạt ngay. Ví dụ thời gian hiện tại là 8h00, thời gian bắt đầu là 6h01 và kết thúc là 9h01 thì khi đó phải gửi lệnh kích hoạt thiết bị thực hiện chạy tuần hoàn ngay.

 

Thời gian bắt đầu và kết thúc có thể tuỳ ý trong ngày hoặc xuyên ngày. Ví dụ trên là trong ngày, vì dụ xuyên ngày là bắt đầu lúc 8h01 (sáng nay) và kết thúc lúc 5h02 (sáng mai).

 

Nhiệm vụ của các bạn là với 3 mốc thời gian: hiện tại, bắt đầu và kết thúc khi tạo hẹn giờ tuần hoàn, hãy xác định xem có phải gửi lệnh kích hoạt ngay hay không.

 

Đầu vào: 

  • Dòng đầu tiên chứa số t là số lượng test ( 1 <= t <= 100).
  • T dòng tiếp theo, mỗi dòng gồm 6 số lần lượt là giờ, phút của thời gian hiện tại, thời gian bắt đầu, thời gian kết thúc.

 

Đầu ra: T dòng. Mỗi dòng là một số 0 hoặc 1

0 – không phải gửi lệnh kích hoạt

1 – có phải gửi lệnh kích hoạt

 

Ví dụ:

Đầu vào

Đầu ra

2

8 0 6 1 9 1

8 0 9 0 10 0

1

0