MEXor Mixup

Đề bài

Mô tả

Cho hai số nguyên ab (a>0, b0). Hãy tìm mảng các số nguyên không âm ngắn nhất sao cho:

  • MEX của mảng bằng a, và
  • XOR (xor bit) của tất cả các phần tử bằng b.

Ở đây MEX của một mảng là số nguyên không âm nhỏ nhất không xuất hiện trong mảng, còn XOR là phép xor theo bit của toàn bộ phần tử. Có thể chứng minh rằng luôn tồn tại mảng thỏa mãn, và bạn chỉ cần in ra độ dài nhỏ nhất của nó.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm một dòng chứa hai số nguyên ab.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên dương là độ dài nhỏ nhất của mảng có MEX bằng aXOR bằng b.

Ràng buộc

  • 1t5·104
  • 1a3·105
  • 0b3·105

Ví dụ

Input Output Giải thích
5
1 1
2 1
2 0
1 10000
2 10000
3
2
3
2
3
Bộ 1: một mảng ngắn nhất có MEX 1, XOR 1[0,2020,2021]. Bộ 2: mảng [0,1] có MEX 2, XOR 1. Có thể chứng minh không có mảng nào ngắn hơn.
1
187994 180766
187995 Mảng bắt buộc chứa 0,1,,187993 (để MEX =187994). XOR của chúng khác 180766 nên cần thêm đúng một phần tử để chỉnh lại XOR, tổng độ dài 187995.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0