欢迎大家来到IT世界,在知识的湖畔探索吧!
#include <iostream> #include <unordered_set> #include <string> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin >> s; int q, k; cin >> q >> k; unordered_set<string> substr_set; int n = s.length(); for (int i = 0; i <= n - k; ++i) { substr_set.insert(s.substr(i, k)); } while (q--) { string t; cin >> t; int m = t.length(); if (m < k) { cout << "NO\n"; continue; } string prefix = t.substr(0, k); string suffix = t.substr(m - k, k); if (substr_set.count(prefix) || substr_set.count(suffix)) { cout << "YES\n"; } else { cout << "NO\n"; } } return 0; }
欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!import sys def main(): s = sys.stdin.readline().strip() q, k = map(int, sys.stdin.readline().split()) # 预处理s的所有长度≥k的子串 substr_set = set() n = len(s) for i in range(n - k + 1): substr = s[i : i + k] substr_set.add(substr) # 处理每个查询 for _ in range(q): t = sys.stdin.readline().strip() m = len(t) if m < k: print("NO") continue # 检查前缀和后缀 prefix = t[:k] suffix = t[-k:] if prefix in substr_set or suffix in substr_set: print("YES") else: print("NO") if __name__ == "__main__": main()
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/138306.html