//本题提供两种思路,一种方法借助哈希表,另一种使用二分查找
//先介绍使用哈希表的方法
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
map<string, int> hashMap;//key的含义为字符串的值,value的含义为该字符串第一次出现的位置
cin>>n;
string str;
cin>>str;
string arr[n];
for(int i=0;i<n;i++){
string s;
cin>>s;
if(hashMap.find(s)==hashMap.end()){//说明该字符串是第一次出现,记录下来
hashMap[s]=i;
}
}
if(hashMap.find(str)==hashMap.end()){//说明没有这个字符串
cout<<-1<<endl;
return 0;
}
cout<<hashMap[str]<<endl;
return 0;
}
//先介绍使用哈希表的方法
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
map<string, int> hashMap;//key的含义为字符串的值,value的含义为该字符串第一次出现的位置
cin>>n;
string str;
cin>>str;
string arr[n];
for(int i=0;i<n;i++){
string s;
cin>>s;
if(hashMap.find(s)==hashMap.end()){//说明该字符串是第一次出现,记录下来
hashMap[s]=i;
}
}
if(hashMap.find(str)==hashMap.end()){//说明没有这个字符串
cout<<-1<<endl;
return 0;
}
cout<<hashMap[str]<<endl;
return 0;
}