链接:https://ac.nowcoder.com/acm/contest/11471/G
来源:牛客网
又是欢快的一天,牛客多校算法训练营4又在日常%Alan。qcjj想知道到底Alan被%了多少次,所以整理了一下聊天记录。
如果一句话中存在Alan,那么那句话中的%都算%了Alan。由于可能话中有空格,所以去掉空格后形成的Alan也算Alan。
题解:主要考虑getline的用法,然后模拟即可。
#include<bits/stdc++.h>
using namespace std;
int m,n;
char str[1005];
bool check(char* str,int n){
string tmp;
for(int i=0;i<n;i++){
if(str[i]==' ') continue;
tmp+=str[i];
}
for(int i=0;i+3<tmp.size();i++){
if(tmp[i]=='A' && tmp[i+1]=='l' && tmp[i+2]=='a' &&tmp[i+3]=='n'){
return 1;
}
}
return 0;
}
int main(){
// freopen("input.in","r",stdin);
scanf("%d\n",&m);
// cin>>n;
int cnt=0;
for(int i=1;i<=m;i++){
cin.getline(str,1005);
n=strlen(str);
if(check(str,n)){
// cout<<str<<endl;
for(int j=0;j<n;j++){
if(str[j]=='%') cnt++;
}
}
}
printf("%d\n",cnt);
return 0;
}