아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

키보드 쿼리

시간 제한1초메모리 제한1024 MB

요약
주어진 팰린드롬 조건을 바탕으로 두 부분 문자열이 반드시 같은지, 절대 같을 수 없는지, 아직 알 수 없는지 판별합니다.
난이도

어려움10점 중 8점

유형
유니온 파인드, 문자열 매칭, 문자열
정답자
아직 제출이 없습니다

문제

Katrín과 친구들은 대학생이고 매주 세미나에 참석한다. 세미나가 시작될 때마다 교수는 학생들을 무작위로 조로 나눈다. Katrín과 친구들은 무작위 조 편성을 싫어한다. 그래서 자기들끼리 조를 이뤄 대화하고, 다른 학생들과 친해지지 않기를 원한다.

교수의 컴퓨터에는 길이 nn의 비밀 문자열 SS가 있다. 이 문자열은 무작위 조 편성의 씨앗 역할을 한다. 조를 편성할 때는 SS의 부분 문자열을 입력으로 manager 프로그램을 실행한다. 그런데 교수가 가끔 실수로 manager 대신 manacher를 입력한다. 이는 그 부분 문자열이 회문이라는 뜻이다. Katrín은 이 정보로 조 편성 결과를 예측할 수 있을까?

문자열 SS는 알 수 없는 알파벳으로 이루어진 nn개의 문자로 구성된다. qq개의 질의가 주어지며, 질의는 두 종류다.

  • 1 l r: SS의 ll번째부터 rr번째까지 부분 문자열은 회문이다.
  • 2 a b x y: 이전 질의들에서 얻은 정보를 바탕으로, aa번째부터 bb번째까지의 부분 문자열과 xx번째부터 yy번째까지의 부분 문자열이 같은지 판단한다.

입력

첫 줄에 두 정수 nn과 qq (1≤n≤1051 \leq n \leq 10^5, 1≤q≤2⋅1051 \leq q \leq 2 \cdot 10^5)가 주어진다. 각각 문자열의 길이와 질의의 개수다. 이어지는 qq개의 줄은 질의 종류를 나타내는 1 또는 2로 시작한다.

종류가 1이면 정수 ll, rr (1≤l≤r≤n1 \leq l \leq r \leq n)이 뒤따른다. 종류가 2이면 정수 aa, bb, xx, yy (1≤a≤b≤n1 \leq a \leq b \leq n, 1≤x≤y≤n1 \leq x \leq y \leq n)가 뒤따른다.

출력

종류가 2인 질의마다, 두 부분 문자열이 반드시 같으면 "Equal", 같을 수 없으면 "Not equal", 지금까지의 정보로 두 경우가 모두 가능하면 "Unknown"을 출력한다.

예제1

  1. 예제 1

    입력
    6 8
    1 1 6
    2 1 1 6 6
    2 1 2 5 6
    2 1 3 5 6
    1 1 3
    2 1 3 4 6
    2 4 4 6 6
    2 2 3 4 5
    
    예상 출력
    Equal
    Unknown
    Not equal
    Equal
    Equal
    Unknown