比赛 寒假集训2 评测结果 AATTT
题目名称 UNO 最终得分 40
用户昵称 PXCZM 运行时间 3.328 s
代码语言 C++ 内存使用 21.15 MiB
提交时间 2026-02-25 11:20:03
显示代码纯文本
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod=998244353;
int a,b,c;
ll dp[102][102][102][3];
int main()
{
    freopen("UNO.in","r",stdin);
    freopen("UNO.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    cin>>a>>b>>c;
    dp[1][0][0][0]=dp[0][1][0][1]=dp[0][0][1][2]=1;
    for(int i=0;i<=a;i++)
    {
        for(int j=0;j<=b;j++)
        {
            for(int k=0;k<=c;k++)
            {
                if(i) dp[i][j][k][0]+=dp[i-1][j][k][1]+dp[i-1][j][k][2];
                if(j) dp[i][j][k][1]+=dp[i][j-1][k][0]+dp[i][j-1][k][2];
                if(k) dp[i][j][k][2]+=dp[i][j][k-1][0]+dp[i][j][k-1][1];
                dp[i][j][k][0]%=mod;
                dp[i][j][k][1]%=mod;
                dp[i][j][k][2]%=mod;
            }
        }
    }
    cout<<(dp[a][b][c][0]+dp[a][b][c][1]+dp[a][b][c][2])%mod;
    return 0;
}