温馨提示: \color{#E74C3C}\text{温馨提示:} 温馨提示:
遇见题解勿抄袭,棕名封号两行泪。 \color{#E74C3C}\text{遇见题解勿抄袭,棕名封号两行泪。} 遇见题解勿抄袭,棕名封号两行泪。
思路:
先介绍
60
60
60
pts
\text{pts}
pts 的做法:直接判断开头的两个是不是 #
和 空格(数据好良心)。
代码:
#include <bits/stdc++.h>
using namespace std;
int n;
int cnt;//计数
char s,s1;
int main()
{
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>s;
s1=getchar();
if(s=='#'&&s1==' ')
{
cnt++;continue;
}
}
cout<<cnt<<endl;
return 0;
}
下面介绍 100 100 100 pts \text{pts} pts 的做法:
我们可以想办法把开头的空格去除了,这样再判断开头的两个是不是 #
和 空格就可以了,这里我们想到了如下的方法来去掉( string 真好用):
s.erase(0, s.find_first_not_of(" "));//去除首空格
于是打出了代码,
结果第三个样例没有过,调了半天,惊讶的发现第六行 #
后面是有一个空格的,还要去除尾部的空格,这还不简单( string 真好用 ),方法:
s.erase(s.find_last_not_of(" ") + 1);//去除尾空格
注意:输入要用 getline
或者 cin.getline
!
那么放出代码。
Coding Time \text{Coding Time} Coding Time
#include <bits/stdc++.h>
using namespace std;
int n;
int cnt;//计数
string s;
int main()
{
cin>>n;getchar();
for (int i=1;i<=n;i++)
{
getline(cin,s);
s.erase(0, s.find_first_not_of(" "));//去除首空格
s.erase(s.find_last_not_of(" ") + 1);//去除尾空格
if(s[0]=='#'&&s[1]==' ') //判断
{
cnt++;
}
}
cout<<cnt<<endl;//完结撒花
return 0;
}
The End \text{The End} The End