Problem: The Bank of Pittsburgh issues coins that have a heads side and a tails side.
Vera has a row of $2023$ such coins alternately tails-up and heads-up,
with the leftmost coin tails-up.

In a \emph{move}, Vera may flip over one of the coins in the row,
subject to the following rules:
\begin{itemize}
  \item On the first move, Vera may flip over any of the $2023$ coins.
  \item On all subsequent moves, Vera may only flip over
    a coin adjacent to the coin she flipped on the previous move.
  (We do not consider a coin to be adjacent to itself.)
\end{itemize}
Determine the smallest possible number of moves Vera can
make to reach a state in which every coin is heads-up.

Solution: The answer is $\boxed{4044}$.
In general, replacing $2023$ with $4n+3$, the answer is $8n+4$.

\paragraph{Bound.}
Observe that the first and last coins must be flipped,
and so every coin is flipped at least once.
Then, the $2n+1$ even-indexed coins must be flipped at least twice,
so they are flipped at least $4n+2$ times.

The $2n+2$ odd-indexed coins must then be flipped at least $4n+1$ times.
Since there are an even number of these coins,
the total flip count must be even,
so they are actually flipped a total of at least $4n+2$ times,
for a total of at least $8n+4$ flips in all.

\paragraph{Construction.}
For $k=0,1,\dots,n-1$,
flip $(4k+1, 4k+2, 4k+3, 4k+2, 4k+3, 4k+4, 4k+3, 4k+4)$ in that order;
then at the end, flip $4n+1$, $4n+2$, $4n+3$, $4n+2$.
This is illustrated below for $4n+3=15$.
\begin{center}
  \begin{asy}
    unitsize(12);
    int m = 3;
    int n = 4*m+3;
    int[] aux = {1, 2, 3, 2, 3, 4, 3, 4};
    int[] a = {};
    pen[] cols = {mediumblue, mediumred};
    for (int i = 0; i <= m; ++i) {
      for (int j = 0; j < aux.length; ++j) {
        a.push(aux[j]+4*i);
      }
    }
    for (int i = 0; i < 4; ++i) {
      a.pop();
    }
    transform t = scale(1, -1);
    for (int i = 1; i <= n; ++i) {
      label((string) i, t*(0, i), cols[i % 2]);
    }
    for (int i = 0; i < a.length; ++i) {
      dot(t*(i+1, a[i]), cols[a[i] % 2]);
    }
    for (int i = 1; i < n; ++i) {
      draw(t*((-0.5, i+0.5)--(a.length+0.5, i+0.5)), gray(0.7));
    }
    for (int i = 0; i < 2*n-2; i += 8) {
      draw(t*((i+0.5, 0.5)--(i+0.5, n+0.5)), gray(0.7));
    }
    for (int i = 4; i < n; i += 4) {
      draw(t*((-0.5, i+0.5)--(a.length+0.5, i+0.5)), black + 1.4);
    }
  \end{asy}
\end{center}
It is easy to check this works, and there are $4044$ flips, as desired.