Logo
(追記) (追記ここまで)

19869번 - <<Исключающее или>> наносит ответный удар 스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB18111062.500%

문제

Даны два неотрицательных целых числа $a$ и $n$. Требуется найти такое минимальное неотрицательное число $b,ドル что $a \oplus b$ нацело делится на $n$.

Здесь $\oplus$ обозначает операцию побитового <<исключающего или>> и соответствует операции <<xor>> в Паскале или <<\char 94>> в других языках. Для вычисления побитового <<исключающего или>> двух чисел $x$ и $y$ необходимо записать каждое из них в двоичной системе счисления, дополнив, при необходимости, ведущими нулями слева. Результат в каждой позиции равен 1 в том случае, если в точности в одном из чисел в соответствующей позиции находится 1. К примеру, для чисел $x=12$ и $y=26$ результат равен 22:

입력

В первой строке входных данных содержится число $t$ --- количество тестовых примеров (1ドル \le t \le 10^4$). В следующих $t$ строках содержатся описания тестовых примеров. Каждое описание состоит из двух чисел $a$ и $n,ドル разделенных пробелом (1ドル \le a, n \le 10^{18}$).

출력

Для каждого из тестовых примеров требуется вывести единственное число --- искомое $b$.

제한

예제 입력 1

3
10 5
3 2
98 100

예제 출력 1

0
1
6

힌트

출처

Olympiad > Russian Olympiad in Informatics > Russia Team High School Programming Contest > Russia Team High School Programming Contest 2016 K번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /