题目描述
Tree经过不懈奋斗,终于上了烟台大学,开始体验美好的大学生活,早晨去上个高数课吧,进到教室发现,全是书啊(占座的),不得不在后面坐着上课,Tree不服气啊,第二次课早早的来到教室准备占座,占座也是有规矩的:首先别人占的座位,你不能去占;其次,连着的空座,无论连着多少个空座都可以只用一本书去占,Tree不知道最少用几本书可以占完这一排的空座,只好请你来帮忙计算一下啦。
输入
输入一排座位的状态,‘*‘代表该座被别人占了,‘@‘代表该座是空座,可以占座,每排恒定10个座位。
输出
输出Tree最少需要多少本书占这一排所有的空座
样例输入
*@*@@@***@
样例输出
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-1]=='@') { i++; continue; } i++; sum++; } } cout<<sum<<endl; return 0; }
运行结果:
(2)
题目描述
新学期开始了,小明提早到自习教室帮同学占座,一本书可以占两个相邻座位,小明只想占一整排座位,求总共需要几本书来占满这一排空余座位?
输入
题目有多组测试数据
先输入一个数据n,表示这一排总共有多少个座位,再输入一行座位状态,"*"为不能占座,"@"为可以占座。
输出
输出需要几本书占座,如果没有座位可以来占座,则输出"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了一次
时间: 2024-08-03 01:47:15