from typing import Dict
import math


def generate_good_id_to_name(nb_goods: int) -> Dict[str, str]:
    """
    Generate ids for things.

    :param nb_goods: the number of things.
    :return: a dictionary mapping goods' ids to names.
    """
    max_number_of_digits = math.ceil(math.log10(nb_goods))
    string_format = "tac_good_{:0" + str(max_number_of_digits) + "}"
    return {
        string_format.format(i) + "_id": string_format.format(i)
        for i in range(nb_goods)
    }