#include <bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int mod=12345;
//dp[i][0]是前i位有偶数个3的个数
//dp[i][1]是前i位有奇数个3的个数
int dp[10005][2];
void solve(){
int n;
cin>>n;
dp[0][0]=1;
dp[0][1]=0;
for(int i=1;i<=n;i++){
int k=9;
//如果位数大于1位的话,那么最高位不能为0
if(n>1&&i==n) k=8;
dp[i][0]=(dp[i-1][1]+dp[i-1][0]*k)%mod;
dp[i][1]=(dp[i-1][0]+dp[i-1][1]*k)%mod;
}
cout<<dp[n][0];
}
signed main(){
ios::sync_with_stdio(0);
cin.tie();
cout.tie();
solve();
return 0;
}
标签:int,位有,long,问题,位数,define,dp,mod
From: https://blog.csdn.net/weixin_73214301/article/details/137607829