12. (53rd Romanian Mathematical Olympiad (Final) Question) For all non-negative integers $x, y$, find all functions $f: \mathbf{N} \rightarrow \mathbf{N}$, satisfying $f(3 x+2 y)=f(x) f(y)$, where $\mathbf{N}$ is the set of non-negative integers.
12. Let $x=y=0$, we get $f(0)=f(0)^{2}$. Therefore, $f(0)=0$ or $f(0)=1$.

If $f(0)=0$, for $x=0$ or $y=0$, we get $f(2 y)=f(3 x)=0$ for all $x, y \in \mathbf{N}$. Let $f(1)=a$, then $f(5)=f(3 \times 1+2 \times 1)=f(1) f(1)=a^{2}$,
$f(25)=f(3 \times 5+2 \times 5)=f(5) f(5)=a^{4}$.
Also, since $f(25)=f(2 \times 2+3 \times 7)=f(2) f(7)=0$, we have $a=0$.
For odd $k>4$, there exists $y \in \mathbf{N}$ such that $k=3+2 y$. Then $f(k)=0$, so for all $x \in \mathbf{N}, f(x)=0$ satisfies the condition.
If $f(0)=1$, let $x=0$ or $y=0$ we get
$f(2 y)=f(y)$ or $f(3 x)=f(x)$.
Let $f(1)=a$, then
$f(2)=a$,
$f(5)=f(3 \times 1+2 \times 1)=f(1) f(1)=a^{2}$,
$f(25)=f(3 \times 5+2 \times 5)=f(5) f(5)=a^{4}$.
Also, since $f(25)=f(3 \times 3+2 \times 8)=f(3) f(8)=f(1) f(4)=f(1) f(2)=a^{2}$, we have $a=0$ or $a=1$. Similarly, we have
$$
f(x)=\left\{\begin{array}{ll}
1, & x=0 \\
0, & x>0
\end{array} \text { or } f(x)=1, x \in \mathbf{N} .\right.
$$

In summary, there are 3 functions that satisfy the conditions.