본문으로 이동
코드패스 by Devin.KR

문제 4193 · 바이트 I

관측소의 세 조절 눈금

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

날씨 관측소에는 세 종류의 신호를 하나의 정수로 합쳐 저장하는 기록 장치가 있다. 장치에는 왼쪽부터 세 개의 조절 눈금이 있으며, 각 눈금에는 0부터 9까지의 정수 하나가 설정되어 있다. 세 눈금의 값을 차례로 x, y, z라고 한다. 서로 다른 눈금에 같은 값을 설정해도 된다. 장치에 세 신호의 세기 a, b, c를 넣으면 장치는 a×x+b×y+c×z를 계산하여 결과로 기록한다. 여기서 곱셈과 덧셈은 일반적인 정수 연산이며, 나머지를 구하거나 자릿수를 잘라 내는 과정은 없다. 신호의 세기는 모두 0부터 9까지의 정수이므로 기록 결과는 0 이상 243 이하이다. 담당자는 설정표를 잃어버렸지만, 장치를 점검하면서 넣었던 신호와 그때 기록된 결과는 가지고 있다. 점검 기록 하나에는 세 신호의 세기와 결과가 들어 있다. 모든 점검은 눈금의 설정을 바꾸지 않은 상태에서 진행되었다고 가정한다. 따라서 가능한 설정은 주어진 모든 점검 기록의 계산 결과와 정확히 일치해야 한다. 일부 기록과만 일치하는 설정은 사용할 수 없다. 기록에 오류가 섞였을 가능성도 있으므로 조건을 만족하는 설정이 전혀 없을 수 있다. 반대로 신호가 모두 0인 기록처럼 설정을 충분히 구별하지 못하는 기록만 있다면 여러 설정이 가능할 수 있다. 같은 점검 기록이 반복되어 주어져도 각각의 기록에 동일한 일치 조건을 적용한다. 조건을 만족하는 서로 다른 설정의 개수를 구한다. 또한 가능한 설정이 있다면 그중 대표 설정 하나를 고른다. 대표 설정은 x가 가장 작은 설정이며, x가 같으면 y가 가장 작고, x와 y가 모두 같으면 z가 가장 작은 설정이다. 세 눈금은 위치로 구별하므로 값의 순서가 다르면 서로 다른 설정이다.

입력

첫째 줄에 점검 기록의 수 N이 정수로 주어진다. 1 ≤ N ≤ 100이다.
다음 N개 줄에 정수 a, b, c, r이 공백으로 구분되어 주어진다. 0 ≤ a, b, c ≤ 9이고 0 ≤ r ≤ 243이다. r은 해당 점검에서 기록된 결과이다.

출력

첫째 줄에 모든 점검 기록을 만족하는 설정의 개수를 출력한다. 가능한 설정이 하나 이상이면 둘째 줄에 대표 설정의 x, y, z를 공백으로 구분하여 출력한다. 가능한 설정이 없으면 둘째 줄에 -1만 출력한다.

예제 입력 1

2
1 1 0 3
0 0 1 2

예제 출력 1

4
0 3 2

예제 입력 2

1
0 0 0 1

예제 출력 2

0
-1

예제 입력 3

1
0 0 0 0

예제 출력 3

1000
0 0 0
힌트 펼치기
  • 각 눈금은 10가지 값만 가지므로 전체 설정을 모두 확인할 수 있다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류완전 탐색구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)