A2728. Programiranje
编程题
普及-
知识点
题目描述
Little Leticija 正在准备编程考试。虽然她已经解决了很多任务,但还有一个任务尚未解决,于是她向你寻求帮助。
有一个单词 $S$ 和 $Q$ 次询问。在每次询问中,给出正整数 $A$、$B$、$C$ 和 $D$。假设单词 $X$ 由单词 $S$ 中位置 $A$ 和 $B$ 及其之间的字母组成,而单词 $Y$ 由位置 $C$ 和 $D$ 及其之间的字母组成。您需要回答是否能以某种方式**重新排列单词 $Y$ 中的字母得到单词 $X$**。
有一个单词 $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$)。
第一行输入包含单词 $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
kileanimal 2 2 2 7 7 1 4 6 7
输出 #1
DA NE
输入 #2
abababba 2 3 5 1 3 1 2 7 8
输出 #2
DA DA
输入 #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$。
对于 $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$。