The dynamic programming approach breaks the problem into $2^n n$ subproblems. Each subproblem takes $n$ time resulting in a time complexity of $\mathcal{O} (2^n n^2)$.
How are there $2^n n$ subproblems?
Why does each subproblem take $n$ time?
$n$ refers to the number of cities needed to be travelled too.
Please refer to the following pseudocode for reference: http://www.cs.berkeley.edu/~vazirani/s99cs170/notes/dynamic2.pdf