自创的占座系列题目

本文介绍了一道关于大学教室占座的算法题,通过简单的规则找出最少需要几本书来完成一排座位的占座任务。文章包含问题描述、输入输出样例及C++实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值