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