/ 基础 / 题库 /

Programiranje

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
上传者