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