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);
}