天天练ACM题,也自己写几道,给大一新生练习用的,没有复杂的算法。
占座系列第一弹:
题目: 占座
题目描述: Tree经过不懈奋斗,终于上了大学,开始体验美好的大学生活, 早晨去上个高数课吧,进到教室发现,全是书啊(占座的),不得不在后面坐着上课,Tree不服气啊,第二次课早早的来到教室准备占座,占座也是有规矩的:首先别人占的座位,你不能去占;其次,连着的空座,无论连着多少个空座都可以只用一本书去占,Tree不知道最少用几本书可以占完这一排的空座,只好请你来帮忙计算一下啦。
输入: 输入一排座位的状态,'*'代表该座被别人占了,'@'代表该座是空座,可以占座,每排恒定10个座位。
输出: 输出Tree最少需要多少本书占这一排所有的空座。
样例输入:*@*@@@***@
样例输出:3
测试数据
1.
输入:**@@@*@@*@
输出:3
2.
输入:*@*@*@*@*@
输出:5
3.
输入:**********
输出:0
4.
输入:@@@@@@@@@@
输出:1
5.
输入:@*********
输出:1
6.
输入:@********@
输出:2
我的代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
int i,j,sum;
sum=0,j=1;
cin>>str;
for(i=0;i<10;++i)
{
if(str[i]=='*') j=1;
else
{
if(j==1) ++sum;
j=0;
}
}
cout<<sum<<endl;
return 0;
}