加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

YTUOJ-占座问题(2道)

发布时间:2020-12-13 20:09:40 所属栏目:PHP教程 来源:网络整理
导读:题目描写 Tree经过不懈奋斗,终究上了烟台大学,开始体验美好的大学生活,凌晨去上个高数课吧,进到教室发现,全是书啊(占座的),不能不在后面坐着上课,Tree不服气啊,第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次

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读