trang chủ / bài tập / mirrclock

Đồng hồ trong gương

Đề bài

Mô tả

Trên hành tinh Lapituletti, một ngày có h giờ và mỗi giờ có m phút. Cư dân ở đó dùng đồng hồ điện tử hiển thị thời gian theo định dạng HH:MM, trong đó số giờ được viết trước, sau dấu hai chấm là số phút. Cả hai đều được viết bằng đúng hai chữ số (thêm số 0 ở đầu nếu cần). Giờ được đánh số từ 0 đến h1, phút được đánh số từ 0 đến m1.

Khi soi mặt đồng hồ vào gương đặt thẳng đứng, ảnh thu được là ảnh lật qua trục dọc: thứ tự bốn chữ số bị đảo ngược, đồng thời mỗi chữ số cũng bị lật. Với kiểu chữ số trên đồng hồ điện tử, chỉ có năm chữ số cho ra ảnh vẫn là một chữ số hợp lệ:

Chữ số 0 1 2 5 8
Ảnh trong gương 0 1 5 2 8

Các chữ số 3,4,6,7,9 khi lật qua gương không tạo thành chữ số nào cả.

Như vậy, nếu đồng hồ đang hiển thị d1d2:d3d4 thì ảnh trong gương hiển thị f(d4)f(d3):f(d2)f(d1), với f là bảng lật ở trên. Ảnh này được gọi là hợp lệ nếu cả bốn chữ số đều lật được, đồng thời số giờ f(d4)f(d3) nhỏ hơn h và số phút f(d2)f(d1) nhỏ hơn m.

Một cư dân bắt đầu nhìn vào ảnh của đồng hồ trong gương tại thời điểm s. Hãy tìm thời điểm gần nhất kể từ s (có thể rơi sang ngày hôm sau) mà ảnh trong gương là hợp lệ. Nếu ngay tại thời điểm s ảnh đã hợp lệ thì đáp án chính là s.

Dữ liệu vào

  • Dòng đầu chứa số nguyên T là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng:
    • Dòng thứ nhất chứa hai số nguyên hm.
    • Dòng thứ hai chứa thời điểm bắt đầu s theo định dạng HH:MM.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng thời điểm gần nhất theo định dạng HH:MM mà ảnh của đồng hồ trong gương là hợp lệ.

Ràng buộc

  • 1T100
  • 1h,m100
  • s có dạng HH:MM với 0HH<h0MM<m

Ví dụ

Input Output Giải thích
5
24 60
12:21
24 60
23:59
90 80
52:26
1 100
00:01
10 10
04:04
12:21
00:00
52:28
00:00
00:00
Bộ 1: ảnh của 12:21 là 15:51, hợp lệ ngay lập tức.
Bộ 2: chữ số 3 và 9 không lật được nên 23:59 không hợp lệ; thời điểm hợp lệ gần nhất là 00:00 của ngày hôm sau.
Bộ 3: ảnh của 52:28 là 85:52, có 85<9052<80 nên hợp lệ.
Bộ 4: chỉ có một giờ duy nhất là giờ 0, ảnh của 00:01 cho số giờ 10 nên không hợp lệ.
3
1 1
00:00
100 100
28:86
10 10
04:04
00:00
28:88
00:00
Bộ 1: cả ngày chỉ có đúng một thời điểm 00:00, ảnh của nó cũng là 00:00.
Bộ 2: 28:86 và 28:87 chứa chữ số không lật được, còn ảnh của 28:88 là 88:85, hợp lệ.
Bộ 3: chữ số 4 không lật được nên phải chờ hết ngày, quay về 00:00.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0