Đề bài
Đang update
Nguồn tham khảo:
Gói luyện giải đề Tin học trẻ toàn quốc bảng A (Python)giải
1. Liệt
kê các thời điểm đặc biệt trong ngày:
o
Một thời điểm đặc biệt có dạng hh:mm:ss
sao cho 6 chữ số của nó khác nhau.
o
Duyệt từ 00:00:00 đến 23:59:59
(tối đa 86400 giây) để tìm tất cả các thời điểm đặc biệt hợp lệ.
2. Tìm
thời điểm gần nhất với N giây:
o
So sánh từng thời điểm đặc biệt với N
để tìm khoảng cách nhỏ nhất.
o
Nếu có thời điểm đặc biệt trùng với N,
trả về 0 ngay lập tức.
o
Nếu không, tìm thời điểm có khoảng cách nhỏ
nhất.
code py
def la_dacbiet(h, m, s):cs = {h // 10, h % 10, m // 10, m % 10, s // 10, s % 10}
return len(cs) == 6 # Nếu có đúng 6 chữ số khác nhau thì hợp lệ
def tim_gan_nhat(n):
best_kc = 86400 # Khoảng cách tốt nhất ban đầu
best_tg = -1 # Thời điểm đặc biệt tốt nhất
for h in range(24):
for m in range(60):
for s in range(60):
if la_dacbiet(h, m, s):
tg = h * 3600 + m * 60 + s
kc = abs(tg - n)
if kc < best_kc:
best_kc = kc
best_tg = tg
return best_kc
# Nhập giá trị N từ bàn phím
n = int(input())
print(tim_gan_nhat(n))
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.