YTUOJ-占座问题(2道)
来源:程序员人生 发布时间:2015-05-12 08:55:12 阅读次数:3065次
题目描写
Tree经过不懈奋斗,终究上了烟台大学,开始体验美好的大学生活,凌晨去上个高数课吧,进到教室发现,全是书啊(占座的),不能不在后面坐着上课,Tree不服气啊,第2次课早早的来到教室准备占座,占座也是有规矩的:首先他人占的坐位,你不能去占;其次,连着的空座,不管连着多少个空座都可以只用1本书去占,Tree不知道最少用几本书可以占完这1排的空座,只好请你来帮忙计算1下啦。
输入
输入1排坐位的状态,'*'代表该座被他人占了,'@'代表该座是空座,可以占座,每排恒定10个坐位。
输出
样例输入
*@*@@@***@
样例输出
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次
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠