Пусть расстояние между городами равно \( S \) км. Скорость грузовой машины \( v_г = \frac{S}{20} \) км/ч. Скорость легковой машины \( v_л = \frac{S}{10} \) км/ч.
Когда машины едут навстречу друг другу, их скорости складываются. Общая скорость сближения равна \( v_{общ} = v_г + v_л = \frac{S}{20} + \frac{S}{10} = \frac{S}{20} + \frac{2S}{20} = \frac{3S}{20} \) км/ч.
Время до встречи найдём, разделив расстояние на общую скорость: \( t = \frac{S}{v_{общ}} = \frac{S}{\frac{3S}{20}} = S \cdot \frac{20}{3S} = \frac{20}{3} \) часа.
Переведём дробь в смешанное число: \( \frac{20}{3} = 6 \frac{2}{3} \) часа.
\( \frac{2}{3} \) часа = \( \frac{2}{3} \cdot 60 \) минут = 40 минут.
Таким образом, машины встретятся через 6 часов 40 минут.
Ответ: \( 6 \frac{2}{3} \) часа (или 6 часов 40 минут).