| 比赛 |
寒假集训2 |
评测结果 |
ATTTT |
| 题目名称 |
UNO |
最终得分 |
20 |
| 用户昵称 |
张雨晴 |
运行时间 |
4.510 s |
| 代码语言 |
C++ |
内存使用 |
71.74 MiB |
| 提交时间 |
2026-02-25 11:11:12 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[4];
int ans;
void dfs(int k){
a[k]--;
if(a[1]==0&&a[2]==0&&a[3]==0){
ans++;
ans%=998244353;
a[k]++;
return ;
}
a[k]++;
for(int i=0;i<=1;i++){
if(i==0){//左
if(a[k%3+1]!=0){
a[k]--;
dfs(k%3+1);
a[k]++;
}
}else{//右
if(k==1){
if(a[3]!=0){
a[k]--;
dfs(3);
a[k]++;
}
}else{
if(a[k-1]!=0){
a[k]--;
dfs(k-1);
a[k]++;
}
}
}
}
return ;
}
signed main(){
freopen("UNO.in","r",stdin);
freopen("UNO.out","w",stdout);
cin>>a[1]>>a[2]>>a[3];
if(a[1]!=0) dfs(1);
if(a[2]!=0) dfs(2);
if(a[3]!=0) dfs(3);
cout<<ans;
return 0;
}