Modified Gray Code
시간 제한2초메모리 제한1024 MB
각 단계에서 짝수 개의 비트를 뒤집고 아직 쓰지 않은 가장 작은 값을 고르는 10비트 even Gray code의 각 항목을 구한다.
문제

The Gray Code is a well-known binary sequence in which successive elements differ by only one bit, and the bit chosen to be switched yields the smallest normal binary value not yet used. The first element of the sequence is the binary sequence corresponding to 0. For example, the 3-bit Gray Code sequence is 000, 001, 011, 010, 110, 111, 101, 100. So the element at index 0 is 000, the element at index 4 is 110, and so on.
We want to modify the Gray Code so that successive elements differ by an even number of bits, but again the bits selected to be changed should yield the smallest normal binary value not yet used. We call this the even Gray code. Here are the first 3 elements of the 5-bit even Gray Code:
0 0 0 0 0 0
1 0 0 0 1 1 (2 bits switched – positions 1 and 2)
2 0 0 1 0 1 (2 bits switched – positions 2 and 3)
Given an index , give the element at index in the 10-bit even Gray Code.
입력
The first line of input consists of an integer (), which is the number of queries that will be made. The remaining lines each contains a positive integer () representing the index of the 10-bit even Gray Code.
출력
For each input query, print the 10-bit representation of the corresponding even Gray Code element. There may be leading 0's but there should be no spaces between the digits.