A. Whose sentence is it?
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
One day, liouzhou_101 got a chat record of Freda and Rainbow. Out of curiosity, he wanted to know which sentences were said by Freda, and which were said by Rainbow. According to his experience, he thought that Freda always said "lala." at the end of her sentences, while Rainbow always said "miao." at the beginning of his sentences. For each sentence in the chat record, help liouzhou_101 find whose sentence it is.
Input
The first line of the input contains an integer n (1 ≤ n ≤ 10), number of sentences in the chat record. Each of the next n lines contains a sentence. A sentence is a string that contains only Latin letters (A-Z, a-z), underline (_), comma (,), point (.) and space ( ). Its length doesn’t exceed 100.
Output
For each sentence, output "Freda's" if the sentence was said by Freda, "Rainbow's" if the sentence was said by Rainbow, or "OMG>.< I don't know!" if liouzhou_101 can’t recognize whose sentence it is. He can’t recognize a sentence if it begins with "miao." and ends with "lala.", or satisfies neither of the conditions.
Sample test(s)
input
5
I will go to play with you lala.
wow, welcome.
miao.lala.
miao.
miao .
output
Freda's
OMG>.< I don't know!
OMG>.< I don't know!
Rainbow's
OMG>.< I don't know!
strstr(s,p) //在s中找p,返回指向第一個子串首的指針,若無返回NULL.
gets(s) //讀入一行.
[cpp] #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
#include<cmath>
#include<cctype>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define RepD(i,n) for(int i=n;i>=0;i--)
int n;
char s[1000+10],p1[10]="miao.",p2[10]="lala.";
int main()
{
// freopen("CF312A.in","r",stdin);
// freopen(".out","w",stdout);
scanf("%d",&n);gets(s);
while (n--)
{
gets(s);
int len=strlen(s);
bool b1=(strstr(s,p1))==s,b2=(strstr(s+strlen(s)-strlen(p2),p2)==(s+strlen(s)-strlen(p2)));
if (!(b1^b2)) puts("OMG>.< I don't know!");
else if (b1) puts("Rainbow's");
else puts("Freda's");
}
return 0;
}
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
#include<cmath>
#include<cctype>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define RepD(i,n) for(int i=n;i>=0;i--)
int n;
char s[1000+10],p1[10]="miao.",p2[10]="lala.";
int main()
{
// freopen("CF312A.in","r",stdin);
// freopen(".out","w",stdout);
scanf("%d",&n);gets(s);
while (n--)
{
gets(s);
int len=strlen(s);
bool b1=(strstr(s,p1))==s,b2=(strstr(s+strlen(s)-strlen(p2),p2)==(s+strlen(s)-strlen(p2)));
if (!(b1^b2)) puts("OMG>.< I don't know!");
else if (b1) puts("Rainbow's");
else puts("Freda's");
}
return 0;
}