Submission
Status:
(-SSSSSSSSS)(-SSSS)(P-SSS)(SSSSSSSSSS)
Subtask/Task Score:
{0/20}{0/30}{0/30}{0/20}
Score: 0
User: tHeNyXs
Problemset: กองไฟ
Language: cpp
Time: 0.016 second
Submitted On: 2026-03-05 14:54:15
#include <bits/stdc++.h>
using namespace std;
long long dp[101][101][101][4];
long long solve(int a,int b,int c,int last){
if(a==0 && b==0 && c==0)
return 1;
long long &res = dp[a][b][c][last];
if(res!=-1) return res;
res=0;
if(a>0 && last!=1)
res+=solve(a-1,b,c,1);
if(b>0 && last!=2)
res+=solve(a,b-1,c,2);
if(c>0 && last!=3)
res+=solve(a,b,c-1,3);
return res;
}
int main(){
memset(dp,-1,sizeof(dp));
int a,b,c;
cin>>a>>b>>c;
cout<<solve(a,b,c,0);
}