zhi识点
1.int x = atoi(y.c_str());可以把一个string的y转成int的x
2.st.find()与st.rfind()函数
find()函数是用于返回字母在母串中的位置,rfind()的返回值是返回最后一次出现的字符串的位置
如果没有查询到,则返回string::npos,这是一个很大的数,其值不需要知道。所以,可能一般都是作为-1处理了
//find()函数是用于返回字母在母串中的位置,rfind()的返回值是返回最后一次出现的字符串的位置
#include <bits/stdc++.h>
#define N 1010
using namespace std;
int n, q;
string a[N];
bool cmp(string a, string b)
{
int na = atoi(a.c_str());;
int nb = atoi(b.c_str());
return na < nb;
}
int main()
{
cin >> n >> q;
for(int i = 1; i <= n; ++ i) cin >> a[i];
sort(a + 1, a + n + 1, cmp);
while(q -- )
{
int Chtholly;
cin >> Chtholly;
string s;
cin >> s;
bool is_succeed = 1;
for(int i = 1; i <= n; ++ i)
{
int res = a[i].rfind(s);
if(res == -1 || res + Chtholly != a[i].size()) is_succeed = 0;
else
{
cout << a[i] << endl;
is_succeed = 1;
break;
}
}
if(is_succeed == 0) cout << -1 << endl;
}
}
hi~
Orz