아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

256 shades of Gray

시간 제한1초메모리 제한512 MB

요약
16진수로 주어진 열 개의 회색 값을 흑백 비트로 판정한 뒤, 표준이 정한 그레이 코드 패턴을 되짚어 측정된 키를 복원한다.
난이도

보통10점 중 6점

유형
비트 연산, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

신장계는 사람의 키를 재는 의료 기구다. 옛날 신장계는 눈금이 새겨진 자 위를 굴러다니는 머리판으로만 만들었다. 하지만 이 구식 기술은 바퀴가 순식간에 어긋날 수 있어, 특히 가만히 있지 못하는 아이를 잴 때 부정확한 측정값을 내기 쉬웠다.

현대의 신장계는 광학 판독을 사용한다. 보통 0.250.25 cm의 정밀도로 키를 잴 수 있다. 작동 방식은 벽에 높이 0.250.25 cm의 특수한 무늬를 인쇄해 두고, 레이저가 사람의 머리 바로 위로 빛을 쏘면, 광센서가 바로 뒤에 있는 무늬를 감지하는 것이다. 무늬는 10241024개가 있어서 기기는 0 cm부터 255.75 cm까지 1024가지 측정 결과를 낼 수 있다.

국제 색상 무늬 위원회는 다음과 같은 규칙으로 개방형 표준을 설계했다. 각 무늬는 가로로 배열된 10개의 직사각형으로 이루어지며, 각 직사각형은 검은색이나 흰색이다. 한 무늬에서 다음 무늬로 넘어갈 때 직사각형 하나만 바뀌므로 광학 판독 오류를 피하는 데 유용하다. 광센서가 두 무늬의 중간에 놓여 두 무늬의 판독값을 평균 내면, 직사각형 하나만 영향을 받으므로 측정값은 0.250.25 cm만 어긋난다.

1024개의 무늬는 다음과 같이 생성된다.

  • 첫 번째 열에서는 아래쪽 512512개의 직사각형이 흰색이고 위쪽 512512개의 직사각형이 검은색이다.
  • 2≤k≤102\le k \le 10인 kk에 대해, kk번째 열은 212−k2^{12-k}개의 직사각형으로 이루어진 2k−22^{k-2}개의 블록으로 나뉜다.
    • 블록의 아래쪽과 위쪽에 있는 210−k2^{10-k}개의 직사각형은 kk가 홀수면 흰색, 짝수면 검은색이다.
    • 블록 가운데에 있는 211−k2^{11-k}개의 직사각형은 kk가 홀수면 검은색, 짝수면 흰색이다.

광학 판독기는 256가지 회색 음영을 나타내는 10개의 바이트(0과 255 사이의 정수)를 보고한다. 0과 127 사이의 수는 검은 직사각형으로, 128과 255 사이의 수는 흰 직사각형으로 해석한다.

광학 판독기가 보고한 10개의 정수가 주어질 때, I.C.P.C. 표준에 따라 측정된 사람의 키를 구할 수 있는가?

입력

입력 파일은 여러 테스트 케이스로 이루어진다. 입력 파일의 첫 줄에는 테스트 케이스의 수를 나타내는 정수 하나가 있다. 각 테스트 케이스는 한 줄로 이루어지며, 공백 하나로 구분된 열 쌍의 문자가 있다. 각 문자 쌍은 16진수 표기로 쓴 0과 255 사이의 수를 나타낸다.

출력

입력의 각 테스트 케이스마다 측정된 사람의 키를 나타내는 소수점 이하 두 자리의 실수 하나를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    FF 00 FF 00 FF 00 FF 00 FF 00
    CB 0C E1 25 BD 12 15 B2 CF 6E
    
    예상 출력
    0.00
    2.00