　まず，$A,B,C$ の $3$ 種類の文字を少なくとも $1$ 回ずつ使って $8$ 文字並べる方法を考える．各文字が $A,B,C$ のいずれかである長さ $8$ の文字列は $3^8$ 個あり，その中で $A, B, C$ のうちちょうど $2$ 種類を使うものは $3 \cdot (2^8-2)$ 個，ちょうど $1$ 種類を使うのは $3$ 個ある．したがって，$A, B, C$ をすべて用いるものは 
$$3^8 - 3 \cdot (2^8-2) - 3 = 5796$$ 
個だけ存在する．\
　次に，$A,B,C$ それぞれに相異なる数字を当てはめることを考える．$A,B,C$ を適当に入れ替えると同じ並びになるものは重複するため，$A,B,C$ がこの順に現れるような $5796 \div 3! = 966$ 個の文字列に数字を当てはめる方法を数えればよい．すると，
- $A$ は $0$ が使えないので $9$ 通り．  
- $B$ は $A$ 以外の数字が使えるので $9$ 通り．  
- $C$ は $A,B$ 以外の数字が使えるので $8$ 通り．

だけ方法があるので，求める総数は 
$$9\cdot 9\cdot 8\cdot 966=\textbf{625968}$$
個である．

<details><summary> 【**別解**】動的計画法を用いる<\/summary>
　以下のように，動的計画法 （Dynamic Programming） で $3\times 8$ の表を埋めていくことでも総数が求められる．  $dp[i][j]$ を $i$ 桁の正の整数であってちょうど $j$ 種類の数字を用いるものの個数とすると，$dp[1][1]=9$ および
$$ \begin{aligned}
dp[i+1][1] &= dp[i][1] \\\\
dp[i+1][2] &= dp[i][1]\times 9+dp[i][2]\times 2 \\\\
dp[i+1][3] &= dp[i][2]\times 8+dp[i][3]\times 3
\end{aligned} $$
であるから，$dp[8][3]=\textbf{625968}$ を得る．
<\/details>
公式解説
https://onlinemathcontest.com/contests/omcb021/editorial/10667
　公式解説のように「$A,B,C$ の $3$ 種類の文字を少なくとも $1$ 回ずつ使って $8$ 文字並べる方法は $5796$ 通りである」と求めた後の別解である．次のように考えてみよう．

- $A,B,C$ がいずれも $0$ でない場合は，$5796×{}\_{9}\mathrm{C}\_{3}$ 通り存在する．
- $A,B,C$ のいずれかが $0$ である場合は，$3$ 数 $\\{A, B, C\\}$ の選び方が ${}\_{9}\mathrm{C}\_{2}$ 通り．それらを並び替える $5796$ 通りのうち，ちょうど $\dfrac{1}{3}$ は $0$ から始まる数字列になってしまうので不適．つまり条件を満たす数は $5796×{}\_{9}\mathrm{C}\_{2}×\dfrac{2}{3}$ 通り存在する．

　以上の議論から，$5796× \left({}\_{9}\mathrm{C}\_{3}+{}\_{9}\mathrm{C}\_{2}×\dfrac{2}{3} \right)=5796×108=\mathbf{625968}$ 通り．
5796の何倍か？という発想で解く方法
https://onlinemathcontest.com/contests/omcb021/editorial/10667/633
　$8$ 桁の正の整数であって，各桁で使用する数字の種類がちょうど $3$ 種類のものはいくつありますか？\
　例えば，$20240402$ はこの条件を満たします．