Programiranje
时间限制:1秒 内存限制:256M
题目描述
Little Leticija 正在准备编程考试。虽然她已经解决了很多任务,但还有一个任务尚未解决,于是她向你寻求帮助。
有一个单词 \(S\) 和 \(Q\) 次询问。在每次询问中,给出正整数 \(A\)、\(B\)、\(C\) 和 \(D\)。假设单词 \(X\) 由单词 \(S\) 中位置 \(A\) 和 \(B\) 及其之间的字母组成,而单词 \(Y\) 由位置 \(C\) 和 \(D\) 及其之间的字母组成。您需要回答是否能以某种方式**重新排列单词 \(Y\) 中的字母得到单词 \(X\)**。
输入格式
第一行输入包含单词 \(S\)(\(1\le\lvert S\rvert\le50000\))。\(\lvert S\rvert\) 表示单词 \(S\) 中的字符数。\(S\) 完全由英文小写字母组成。
第二行输入包含正整数 \(Q\)(\(1\le Q\le50000\))。
以下 \(Q\) 行中的每一行包含四个整数 \(A\)、\(B\)、\(C\) 和 \(D\)(\(1\le A\le B\le\lvert S\rvert\) 且 \(1\le C\le D\le\lvert S\rvert\))。
输出格式
对于每次询问,如果可能,输出DA(即克罗地亚语的“是”),如果不可能,则输出NE(克语的“否”)。
输入输出样例 #1
输入 #1
kileanimal
2
2 2 7 7
1 4 6 7
输出 #1
DA
NE
输入输出样例 #2
输入 #2
abababba
2
3 5 1 3
1 2 7 8
输出 #2
DA
DA
输入输出样例 #3
输入 #3
vodevovode
2
5 8 3 6
2 5 3 6
输出 #3
NE
DA
说明/提示
对于 \(50\%\) 的测试点,有 \(1\le\lvert S\rvert\le1000\) 且 \(1\le Q\le1000\)。
对于 \(100\%\) 的测试点,有 \(1\le\lvert S\rvert\le50000\),\(1\le Q\le50000\),\(1\le A\le B\le\lvert S\rvert\) 且 \(1\le C\le D\le\lvert S\rvert\)。
样例 #3 的解释:在第一次询问中,\(X=\tt vovo\),\(Y=\tt devo\)。在第二次询问中,\(X=\tt odev\),\(Y=\tt devo\)。
信息
- ID
- 1097
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 被复制
- 1
- 上传者