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

33616번 - 판드랄추 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB32012010241.463%

문제

어느 날 게시판을 둘러보던 피돌이는 추천이 $a$개, 비추천이 $b$개인 글을 발견했다. 피돌이는 추천과 비추천의 수가 같아야 편안해지기 때문에 조작프로그램을 이용해 이를 조작하기로 했다.

조작 프로그램은 $c\ x$와 같은 형식의 명령어를 입력해 사용할 수 있다. $c$는 A 또는 B이고 $x$는 1ドル$이상 2ドル^{30}$미만의 정수이다. 현재의 추천 수와 비추천 수를 각각 $p,ドル $q$라고 하자. 명령어를 입력했을 때 일어나는 일은 다음과 같다.

  • $c$가 A인 경우, 추천 수가 $p \oplus x$가 되고 비추천 수가 $q+x$가 된다.
  • $c$가 B인 경우, 추천 수가 $p + x$가 되고 비추천 수가 $q \oplus x$가 된다.

단, 조작된 추천 수와 비추천 수에는 상한이 없다.

조작 프로그램을 이용해 추천 수와 비추천 수를 같게 만들 수 있는지 판별하고, 가능하다면 그 중 명령어를 최소로 입력하는 방법을 찾아보자.

입력

첫째 줄에 테스트 케이스의 개수 $T$가 주어진다. $(1\leq T \leq 10\ 000)$

각 테스트 케이스의 첫째 줄에 추천 수와 비추천 수 $a,ドル $b$가 공백을 두고 주어진다. $(0 \leq a,b < 2^{30}; a \neq b)$

출력

각 테스트 케이스의 첫째 줄에 입력해야 하는 명령어의 최소 개수 $K$를 출력한다. 불가능하다면 -1을 출력한다.

각 테스트 케이스에서 실행이 가능한 경우, 다음 $K$줄에 입력해야 하는 명령어를 $c\ x$ 꼴로 출력한다.

제한

예제 입력 1

2
3 4
3 5

예제 출력 1

-1
1
B 1

노트

$\oplus$는 xor연산을 나타낸다.

출처

Contest > BOJ User Contest > 피갤컵 > 제2회 피갤컵 E번

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

출처

대학교 대회

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

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