Submission

Status:

(-SSSSSSSSS)(-SSSS)(PTSSS)(SSSSSSSSSS)

Subtask/Task Score:

{0/20}{0/30}{0/30}{0/20}

Score: 0

User: ssss

Problemset: กองไฟ

Language: cpp

Time: 1.098 second

Submitted On: 2026-03-09 23:08:31

#include<bits/stdc++.h>
using namespace std;

const long long MOD = 1000000007;

bool valid(string s){
    if(s.find("aa")!=string::npos){
        return false;
    }
    if(s.find("bb")!=string::npos){
        return false;
    }
    if(s.find("cc")!=string::npos){
        return false;
    }
    return true;
}

int main(){
    int n,a,b,c,cc=0;
    cin>>n>>a>>b>>c;
    string s;
    for(int i=0;i<a;i++){
        s+="a";
    }
    for(int i=0;i<b;i++){
        s+="b";
    }
    for(int i=0;i<c;i++){
        s+="c";
    }
    do{
        if(valid(s)){
            cc++;
            cc = cc%MOD;
        }
    }while(next_permutation(s.begin(),s.end()));
    cout<<cc;
}