题目描述
Given a pattern and a string str, find if str follows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.
Examples:
- pattern = "abba", str = "dog cat cat dog" should return true.
- pattern = "abba", str = "dog cat cat fish" should return false.
- pattern = "aaaa", str = "dog cat cat dog" should return false.
- pattern = "abba", str = "dog dog dog dog" should return false.
输入
第一行一个字符串
第二行n和字符串(n表示第一行的字符串的长度)
输出
true 或者 false
样例输入
abba
dog cat cat dog
样例输出
true
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
int main()
{
char s[20];
cin>>s;
int n=strlen(s);
int i,j,flag=1;
string a[n];
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(s[i]==s[j])
if(a[i]!=a[j])
flag=0;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(s[i]!=s[j])
if(a[i]==a[j])
flag=0;
}
if(flag)
cout<<"true";
else cout<<"false";
return 0;
}