CF1556G.Gates to Another World

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

As mentioned previously William really likes playing video games. In one of his favorite games, the player character is in a universe where every planet is designated by a binary number from 00 to 2n12^n - 1 . On each planet, there are gates that allow the player to move from planet ii to planet jj if the binary representations of ii and jj differ in exactly one bit.

William wants to test you and see how you can handle processing the following queries in this game universe:

  • Destroy planets with numbers from ll to rr inclusively. These planets cannot be moved to anymore.
  • Figure out if it is possible to reach planet bb from planet aa using some number of planetary gates. It is guaranteed that the planets aa and bb are not destroyed.

输入格式

The first line contains two integers nn , mm ( 1n501 \leq n \leq 50 , 1m51041 \leq m \leq 5 \cdot 10^4 ), which are the number of bits in binary representation of each planets' designation and the number of queries, respectively.

Each of the next mm lines contains a query of two types:

block l r — query for destruction of planets with numbers from ll to rr inclusively ( 0lr<2n0 \le l \le r < 2^n ). It's guaranteed that no planet will be destroyed twice.

ask a b — query for reachability between planets aa and bb ( 0a,b<2n0 \le a, b < 2^n ). It's guaranteed that planets aa and bb hasn't been destroyed yet.

输出格式

For each query of type ask you must output "1" in a new line, if it is possible to reach planet bb from planet aa and "0" otherwise (without quotation marks).

输入输出样例

  • 输入#1

    3 3
    ask 0 7
    block 3 6
    ask 0 7

    输出#1

    1
    0
  • 输入#2

    6 10
    block 12 26
    ask 44 63
    block 32 46
    ask 1 54
    block 27 30
    ask 10 31
    ask 11 31
    ask 49 31
    block 31 31
    ask 2 51

    输出#2

    1
    1
    0
    0
    1
    0

说明/提示

The first example test can be visualized in the following way:

Response to a query ask 0 7 is positive.

Next after query block 3 6 the graph will look the following way (destroyed vertices are highlighted):

Response to a query ask 0 7 is negative, since any path from vertex 00 to vertex 77 must go through one of the destroyed vertices.

首页