지수 연산
시간 제한3초메모리 제한1024 MB
2023으로 시작하는 변수 n개에 대해 x_i를 x_i의 x_j 제곱으로 바꾸는 연산을 처리하고, 두 변수의 크기를 비교하여 답합니다.
- 난이도
보통10점 중 6점
- 유형
- 수학
- 정답자
- 아직 제출이 없습니다
문제
Zoe는 여가 시간에 온라인 계산기를 만든다. 안타깝게도 이 계산기가 지난주 서비스 거부 공격(DoS)을 받았다. 공격자는 정수 변수를 많이 만들고, 변수끼리 거듭제곱을 계산하며, 많은 비교를 시도했다. 정수가 너무 커져서 서버가 처리하지 못했고, 그 결과 서버가 다운되었다. Zoe는 문제를 고치기 전에, 공격자가 요청한 계산을 직접 수행해 보기로 했다.
정수 변수 이 개 있다. 처음에 모든 변수의 값은 이다. 다음 두 종류의 명령을 개 수행해야 한다.
- 연산: "
!" 형태이며 이다. 의 값을 로 바꾼다. - 질의: "
?" 형태이며 이다. 가 보다 크면 '>', 같으면 '=', 작으면 '<'을 출력한다.
첫 번째 예시를 살펴보자. 5번의 연산을 마친 후 변수의 값은 다음과 같다.
\begin{align\*} x\_1&=\left({2023}^{2023}\right)^{{2023}^{2023}},& x\_2&=\left({2023}^{{2023}^{2023}}\right)^{2023},& x\_3&={2023},& x\_4&={2023}^{2023}. \end{align\*}
입력
입력은 다음과 같이 주어진다.
- 첫 줄에 정수 과 (, )이 주어진다. 변수의 개수와 명령의 개수이다.
- 이어서 개의 줄에 문자 ('
!' 또는 '?')와 정수 , (, )가 한 줄에 하나씩 주어진다.
출력
입력에 있는 각 질의마다 답을 출력한다.