# ---
# title: 401. Binary Watch
# id: problem401
# author: Tian Jun
# date: 2020-10-31
# difficulty: Easy
# categories: Backtracking, Bit Manipulation
# link: <https://leetcode.com/problems/binary-watch/description/>
# hidden: true
# ---
# 
# A binary watch has 4 LEDs on the top which represent the **hours** ( **0-11**
# ), and the 6 LEDs on the bottom represent the **minutes** ( **0-59** ).
# 
# Each LED represents a zero or one, with the least significant bit on the
# right.
# 
# ![](https://upload.wikimedia.org/wikipedia/commons/8/8b/Binary_clock_samui_moon.jpg)
# 
# For example, the above binary watch reads "3:25".
# 
# Given a non-negative integer _n_ which represents the number of LEDs that are
# currently on, return all possible times the watch could represent.
# 
# **Example:**
# 
#     
#     
#     Input: n = 1  
#     Return: ["1:00", "2:00", "4:00", "8:00", "0:01", "0:02", "0:04", "0:08", "0:16", "0:32"]
# 
# **Note:**  
# 
#   * The order of output does not matter.
#   * The hour must not contain a leading zero, for example "01:00" is not valid, it should be "1:00".
#   * The minute must be consist of two digits and may contain a leading zero, for example "10:2" is not valid, it should be "10:02".
# 
# 
## @lc code=start
using LeetCode

## add your code here:
## @lc code=end
