https://i.imgur.com/eY6T9qE.png
2147. 分隔房間的方法
就是說
給你一個S代表椅子 P代表植物的char陣列
然後以兩個椅子一組
每一組椅子直接可以插一片板子分開他們
可以插在植物中間 也算一種插法
問有幾種插法
像這樣
SPPSSPSSS
可以插的地方有
沒有 都不能插 哈哈
注意: 椅子如果是單數張 就直接0
然後答案要%1000000007
我的解法是
直接把椅子分組
然後數組跟組之間的植物數量
然後全部乘起來
就可以ㄌ
姆咪
int numberOfWays(char* corridor)
{
int len = strlen(corridor);
long long waysv = 0;
long long way = 1;
long long ssv = 0;
int ans = 0;
int l = 0;
int r = 0;
for(int i = 0 ; i < len ; i ++)
{
if(corridor[i] == 'S')
{
ssv ++;
if(l == 1 && r == 1)
{
way = way % 1000000007;
waysv = waysv % 1000000007;
waysv ++;
way = way * waysv;
waysv = 0;
r = 0;
}
else if(l == 0)
{
l = 1 ;
}
else if ( l == 1)
{
r = 1 ;
}
}
else if(corridor[i] == 'P')
{
if(l == 1 && r == 1)
{
waysv ++;
}
}
}
if((ssv & 1) || (ssv ==0))return 0;
ans = way%1000000007;
return ans;
}