YTUOJ-占座问题(2道)


题目描写

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

输入

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

输出

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

样例输入

*@*@@@***@

样例输出

3

提示

来源

代码以下:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int sum=0;
char str[10];
cin>>str;
int n=strlen(str);
for(int i=0; i<n; i++)
{

if(str[i] == '*')
continue;
else
{
if (str[i⑴]=='@')
{
i++;
continue;
}
i++;
sum++;

}
}
cout<<sum<<endl;
return 0;
}

运行结果:

 

(2)

题目描写

新学期开始了,小明提早到自习教室帮同学占座,1本书可以占两个相邻坐位,小明只想占1整排坐位,求总共需要几本书来占满这1排空余坐位?

输入

题目有多组测试数据

先输入1个数据n,表示这1排总共有多少个坐位,再输入1行坐位状态,"*"为不能占座,"@"为可以占座。

输出

输出需要几本书占座,如果没有坐位可以来占座,则输出"Oh no!"

样例输入

1
*
6
@**@@@

样例输出

Oh no!
3

提示

 

代码以下:

#include <iostream>
#include <string>
using namespace std;
int main()
{
int n,sum=0;
string str;
while (cin>>n>>str)
{
for(int i=0; i<n; i++)
{

if(str[i] == '*')
continue;
else
{
i++;
sum++;
}
}
if(sum == 0)
cout<<"Oh no!"<<endl;
else

cout<<sum<<endl;
sum=0;
}
return 0;
}

运行结果:

 

学习心得:

题目还是比较简单的,不过两个都WA了1次

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » YTUOJ-占座问题(2道)

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡