题解 CF312A 【Whose sentence is it?】
没有会用find和rfind的吗
这里介绍一下rfind(find都会吧?)
rfind代表对于该字符串,从右往左朝指定字符串,找到返回下标,找不到返回string::npos (-1)
那么代码就很简单了(注意,如果lala.结束并且miao.开始为不知道的结果)
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
string s;
int main()
{
int n;
cin >> n;
getchar();//getline会吃换行
for(register int i = 1; i <= n; i++)
{
getline(cin, s);
int len = s.length();
if(s.rfind("lala.") == len - 5 && s.find("miao.") == 0)
{
cout << "OMG>.< I don't know!\n";
}
else if(s.rfind("lala.") == len - 5)
{
cout << "Freda's\n";
}
else if(s.find("miao.") == 0)
{
cout << "Rainbow's\n";
}
else
{
cout << "OMG>.< I don't know!\n";
}
}
return 0;
}
这个代码不要加ios::sync_with_stdio(false),会WA,因为getline和getchar

浙公网安备 33010602011771号