比赛 寒假集训2 评测结果 AATTT
题目名称 UNO 最终得分 40
用户昵称 rzzakioi 运行时间 3.328 s
代码语言 C++ 内存使用 19.45 MiB
提交时间 2026-02-25 09:22:10
显示代码纯文本
#include<cstdio>
#define int long long
using namespace std;
const int mod=998244353;
int f[105][105][105][3],n,m,k;
signed main(){
    freopen("UNO.in","r",stdin);
    freopen("UNO.out","w",stdout);
    f[1][0][0][0]=f[0][1][0][1]=f[0][0][1][2]=1;
    scanf("%lld%lld%lld",&n,&m,&k);
    for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            for(int x=0;x<=k;x++){
                if((i==0&&j==0)||(j==0&&x==0)||(i==0&&x==0))continue;
                if(i>0){
                    f[i][j][x][0]=(f[i-1][j][x][1]+f[i-1][j][x][2])%mod;
                }
                if(j>0){
                    f[i][j][x][1]=(f[i][j-1][x][0]+f[i][j-1][x][2])%mod;
                }
                if(k>0){
                    f[i][j][x][2]=(f[i][j][x-1][0]+f[i][j][x-1][1])%mod;
                }
            }
        }
    }
    printf("%lld",(f[n][m][k][0]+f[n][m][k][1]+f[n][m][k][2])%mod);
    return 0;
}