YTUOJ-占座問題(2道)
來源:程序員人生 發布時間:2015-05-12 08:55:12 閱讀次數:3256次
題目描寫
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次
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈