占座

占座

时间: 1ms        内存:128M

描述:

Tree经过不懈奋斗,终于上了烟台大学,开始体验美好的大学生活,早晨去上个高数课吧,进到教室发现,全是书啊(占座的),不得不在后面坐着上课,Tree不服气啊,第二次课早早的来到教室准备占座,占座也是有规矩的:首先别人占的座位,你不能去占;其次,连着的空座,无论连着多少个空座都可以只用一本书去占,Tree不知道最少用几本书可以占完这一排的空座,只好请你来帮忙计算一下啦。

输入:

输入一排座位的状态,'*'代表该座被别人占了,'@'代表该座是空座,可以占座,每排恒定10个座位。

输出:

输出Tree最少需要多少本书占这一排所有的空座

示例输入:

*@*@@@***@

示例输出:

3

提示:

参考答案(内存最优[752]):

#include<stdio.h>
int main()
{
	char a[100];
	int i,b=0;
	gets(a);
	for(i=0;a[i]!='\0';i++)
	{
		if(a[i]=='*')
			i++;
		if(a[i]=='@'&&a[i+1]!='@')
			b++;
	}
	printf("%d\n",b);
		return 0;
}

参考答案(时间最优[0]):

#include <iostream>
using namespace std;
#include <cstdio>
#include <iomanip>
#include <string>
#include <string.h>
int main()
{
	char a[100];
	int sum=0,i,j,len;
	cin>>a;
	len=strlen(a);
	if(a[0]=='@') sum++;
	for(i=1;i<len;i++)
		if(a[i]=='@'&&a[i-1]!='@')
			sum++;
	cout<<sum<<endl;


	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注