2 solutions

  • 1
    @ 2026-5-24 14:17:59

    最简写法:

    #include<bits/stdc++.h>
    using namespace std;
    const int P=998244353;
    const int N=1e6+10;
    int f[N][15];
    int main(){
    int n;
    cin>>n;
    for(int i=1;i<=9;i++)f[1][i]=1;
    for(int i=2;i<=n;i++){
    for(int j=1;j<=9;j++){
    for(int k=max(1,j-1);k<=min(9,j+1);k++){
    f[i][k]+=f[i-1][j];
    f[i][k]%=P;
    }
    }
    }
    int res=0;
    for(int i=1;i<=9;i++){
    res+=f[n][i];
    res%=P;
    }
    cout<<res;
    } 
    

    Information

    ID
    2791
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    14
    Accepted
    6
    Uploaded By