QOJ.ac

QOJ

時間限制: 3 s 記憶體限制: 1024 MB 總分: 10

#8404. Модернизация Байтляндии [A]

统计

Деревня в Байтляндии проходит модернизацию. Целью новейшего правительственного проекта является предоставление компьютеров тем жителям деревень и малых городов, у которых их нет. Байтазар курирует модернизацию одной из деревень, участвующих в программе — Байтошице, — в которой в настоящее время ни у одного жителя нет компьютера.

В Байтошице проживает $n$ жителей, которых Байтазар для удобства пронумеровал целыми числами от $1$ до $n$. Изначально ни у кого из жителей нет компьютера. Задача Байтазара — обрабатывать события трех типов:

  • $+ a_i \ b_i$ — Жителю Байтошице доставляется компьютер. Однако Байтазар не знает, был ли компьютер доставлен жителю с номером $a_i$ или $b_i$. Может случиться так, что $a_i = b_i$ — тогда компьютер точно был доставлен жителю с номером $a_i$. Известно, что компьютер всегда доставляется тому жителю, у которого его в данный момент нет.
  • $- c_i$ — У жителя с номером $c_i$ ломается компьютер. Известно, что у этого жителя до этого момента был компьютер (но теперь его не будет, поэтому в будущем он может получить новый).
  • $? \ d_i$ — Байтазар должен определить (используя всю имеющуюся у него на данный момент информацию), владеет ли житель с номером $d_i$ компьютером: точно владеет, точно не владеет, или же неизвестно, владеет ли он компьютером.

Напишите программу, которая поможет Байтазару отвечать на задаваемые ему вопросы!

Входные данные

В первой строке входных данных находятся два целых числа $n$ и $q$ ($1 \le n \le 300\,000$; $1 \le q \le 1\,000\,000$), обозначающие количество жителей Байтошице и количество событий, которые должен обработать Байтазар.

В следующих $q$ строках содержатся описания событий, описанных в условии задачи. Во всех событиях выполняются условия $1 \le a_i, b_i, c_i, d_i \le n$.

Гарантируется, что Байтазара хотя бы раз спросят о его состоянии знаний, т.е. входные данные содержат хотя бы одно событие типа '?'. Также гарантируется, что существует хотя бы один сценарий доставки компьютеров, при котором компьютер всегда получает человек, у которого его в данный момент нет, и при котором компьютер всегда ломается у человека, у которого он в данный момент есть.

Выходные данные

На выходе должна быть строка символов длиной, равной количеству событий типа '?'. Если при $i$-м запросе житель точно владеет компьютером, то $i$-й символ в этой строке должен быть равен '1'. Если житель точно не владеет компьютером, то $i$-й символ должен быть равен '0'. Если житель может, но не обязан владеть компьютером, то $i$-й символ должен быть равен '?'.

Примеры

Пример 1

5 11
? 1
+ 1 2
+ 2 3
? 2
+ 3 1
- 2
? 1
? 2
? 3
+ 2 2
? 2

Выходные данные 1

0?1011

Примечание

В начале ни у кого нет компьютера, поэтому ответ на первый вопрос отрицательный, и первый символ на выходе — '0'. Затем доставляются два компьютера, и нас спрашивают, владеет ли второй житель компьютером. Возможно, что одна из двух доставок была ему, но могло случиться и так, что компьютеры получили первый и третий жители соответственно. Таким образом, мы не можем однозначно определить, владеет ли второй житель компьютером, поэтому ответ — '?'. Обратите внимание, что после следующей доставки станет ясно, что второй житель уже должен был владеть компьютером, однако в момент запроса Байтазар не мог этого знать.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.