長さNの整数の列A1,A2,…,AN の中で条件を満たすものを求める問題です。
提出
n = int(input())
mod = 10**9+7
print((pow(10,n,mod)-pow(9,n,mod)*2+pow(8,n,mod))%mod)
すべての数列のパターンの数から、条件を満たさないパターンの数を引いたものが答えになります。
すべてのパターンは、10N個あります。
0が一つもないパターンと、9が一つもないパターンは、共に9Nとなります。
この二つには重複しているものがあるので、0と9の両方が含まれないパターン8Nを「(9N)×2」から除外する必要があります。
pow()関数を使うと、時間コストを短縮できます。
「pow(10,n,mod)」では、10Nをmodで割った余りを取得できます。