题目描述:
你在寻找一个停车的车位,只要满足下面的条件,你可以把车停在任意位置:
1. 不能直接停在私人车道上,
2. 不能直接停在公共汽车站上,
3. 不能停在公共汽车站前5米的地方
4. 不能停在公共汽车站前10米的地方
5. 不能直接停在岔道上
6. 不能停在岔道前5米的地方
7. 不能停在岔道后5米的位置
街道将被用一个字符串来代替,每一个字符代表一段5米的距离。所以,第一个字符代表街道最开始的5米,下一个字符代表下一个5米,以此类推。用’D’代表私人车道,‘B’代表公共汽车站,’S’代表岔道,‘-’代表街道的其他部分。求出这样的街道上有多少适合停车的车位。
输入样例:
---B--S-D--S-- DDBDDBDDBDD
输出样例:
4 0
输入描述:
输入数据有多组。 每组输入数据只有一行字符串(字符串长度小于等于50),代表街道。
输出描述:
每组数据对应一行输出,可供停车的车位数量。
#include<iostream> using namespace std; int main() { char p[50]; int i,sum=0; while(cin>>p) { for(i=0;i<strlen(p);i++) if(p[i]=='-') if(p[i+1]!='B'&&p[i+2]!='B'&&p[i+1]!='S'&&p[i-1]!='S') sum++; cout<<sum<<endl; sum=0; } return 0; }