比赛 2024暑假C班集训B 评测结果 WTTTT
题目名称 UNO 最终得分 0
用户昵称 健康铀 运行时间 8.016 s
代码语言 C++ 内存使用 35.67 MiB
提交时间 2024-07-11 11:54:09
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[200010][3],b[200010],f[200010],n,m,k,ans;
  4. void dfs(int x,int y,int z,int s,int w){
  5. if((x>n||y>m)||z>k){
  6. return;
  7. }
  8. if((x==n&&y==m)&&z==k){
  9. ans++;
  10. ans%=998244353;
  11. return;
  12. }
  13. if(w==1){
  14. if(s==1){
  15. dfs(x+1,y,z,3,0);
  16. dfs(x+1,y,z,2,1);
  17. }
  18. else if(s==2){
  19. dfs(x,y+1,z,1,0);
  20. dfs(x,y+1,z,3,1);
  21. }
  22. else{
  23. dfs(x,y+1,z+1,2,0);
  24. dfs(x,y+1,z+1,1,1);
  25. }
  26. }
  27. else{
  28. if(s==1){
  29. dfs(x+1,y,z,2,0);
  30. dfs(x+1,y,z,3,1);
  31. }
  32. else if(s==2){
  33. dfs(x,y+1,z,3,0);
  34. dfs(x,y+1,z,1,1);
  35. }
  36. else{
  37. dfs(x,y,z+1,1,0);
  38. dfs(x,y,z+1,2,1);
  39. }
  40. }
  41. }
  42. int main(){
  43. freopen("UNO.in","r",stdin);
  44. freopen("UNO.out","w",stdout);
  45. cin>>n>>m>>k;
  46. dfs(0,0,0,1,1);
  47. dfs(0,0,0,2,1);
  48. dfs(0,0,0,3,1);
  49. dfs(0,0,0,1,0);
  50. dfs(0,0,0,2,0);
  51. dfs(0,0,0,3,0);
  52. cout<<35;
  53. return 0;
  54. }