| 比赛 |
寒假集训2 |
评测结果 |
AWTTT |
| 题目名称 |
UNO |
最终得分 |
20 |
| 用户昵称 |
exil |
运行时间 |
3.329 s |
| 代码语言 |
C++ |
内存使用 |
21.40 MiB |
| 提交时间 |
2026-02-25 11:53:02 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long
int dp[105][105][105][3];
const int mod=998244353;
signed main(){
freopen("UNO.in","r",stdin);
freopen("UNO.out","w",stdout);
int n,m,k;
cin>>n>>m>>k;
dp[0][0][1][2]=1;
dp[1][0][0][0]=1;
dp[0][1][0][1]=1;
for(int i = 0;i<=n;i++){
for(int j = 0;j<=m;j++){
for(int g=0;g<=k;g++){
if((g==0 &&j==0) || (i==0 &&g==0) || (i==0 &&j==0))continue;
if(i!=0)dp[i][j][g][0]=(dp[i-1][j][g][1]+dp[i-1][j][g][2])%mod;
if(j!=0)dp[i][j][g][1]=(dp[i][j-1][g][0]+dp[i][j-1][g][2])%mod;
if(g!=0)dp[i][j][g][2]=(dp[i][j][g-1][1]+dp[i][j][g-1][0])%mod;\
}
}
}
cout<<dp[n][m][k][0]+dp[n][m][k][1]+dp[n][m][k][2];
return 0;
}