在本题题解中
for (int l1 = 0; l1 < s.size(); ++l1) if (s.substr(l1, 7) == "Genshin") {
for (int l2 = l1; l1 < s.length(); ++l2) if (s.substr(l2, 6) == "player") {
++ans;
}
}
第二行应当是
for (int l2 = l1; l2 < s.length(); ++l2)
正如zhaojiadong2022在另一篇帖子中所述,参照原题解会发生如下错误:
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr: __pos (which is 20) > this->size() (which is 19)
特此补充说明,蒟蒻知之甚少,有错误之处请神犇帮忙改正。