시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 512 MB | 692 | 22 | 8 | 4.103% |
A+B를 계산하는 마인크래프트 월드를 제출하세요.
입력은 레버를, 출력은 레드스톤 램프를 통해 이루어집니다. 이들 블록을 포함하여, 모든 블록은 (0, 0, 0)과 (511, 255, 511)를 꼭짓점으로 하는 직육면체 안에 있어야 합니다. 여러분은 월드의 r.0.0.mca
를 제출합니다.
월드 내 모든 블록은 다음 중 하나여야 합니다: bedrock
, stone
, sandstone
, redstone_wire
, redstone_wall_torch
, redstone_torch
, repeater
, comparator
, lever
, redstone_lamp
, *_concrete
.
회로에서 모든 수는 이진법으로 입력 및 출력됩니다. 연두색 콘크리트 블록에 붙어 있는 레버가 첫 번째 입력이, 하늘색 콘크리트 블록에 붙어 있는 레버가 두 번째 입력이 됩니다. 레버와 레드스톤 모두 (z, x, y) 순으로 정렬했을 때 앞에 오는 것이 하위 비트가 됩니다. 모든 입력 비트는 각 레버에 동시에 들어온다고 가정해도 좋습니다.
각 블록은 회로가 바뀜에 따라 레드스톤 업데이트를 받을 수 있는데, 자동 채점을 위해 이때 같은 틱 내에서는 어떤 순서로 레드스톤 업데이트를 받든지에 상관없이 같은 결과가 나와야 합니다. 즉, 비지역적이고(non-locational), 비방향적인(non-directional) 회로를 만들어야 할뿐만 아니라 각 블록이 기본적으로 가진 priority 등을 무시하고 어떤 순서로 틱을 줘도 같은 결과가 나오게 회로를 만드셔야 합니다.
실제 마인크래프트와는 다르게, 각 블록의 레드스톤 업데이트 시점에 딜레이 이후의 상황을 따져서 업데이트합니다. 즉, 1틱짜리 신호는 신호를 4틱에 걸쳐 머무르게 하지 않는 이상 딜레이 4인 리피터에 신호를 줄 수 없습니다.
위 조건만 있다면 틱 시간을 제대로 계산할 수 없는데, 그래서 조건을 더 추가합니다. 레드스톤 와이어와 레드스톤 토치는 택시 거리로 주위 2블록 안에 들어오는 블록 중 그 블록의 입장에서 와이어나 토치가 레드스톤 업데이트를 받았을 때 입력으로 쓰이는 것들에 대해서만 업데이트합니다. 엄밀히 말해서 틀렸지만 쉬운 표현은 연결된 회로만 고려되고, 끊어진 회로는 업데이트 대상에 고려되지 않는다는 것입니다.
위 조건들을 모두 고려했을 때 업데이트해야 하는 최소 개수의 블록들만 업데이트합니다. 즉, 작동 시간이 아주 긴 회로가 있어도 레드스톤 업데이트를 받지만 않으면 실제로 작동하는 일이 없기 때문에 시간 안에 종료할 수 있습니다.
월드 전체에서 유한한 레드스톤 업데이트 이후 더 이상 업데이트가 일어나지 않도록 해야 합니다. (업데이트를 받지 않은 펄서는 펄서로 기능하지도 않지만) 펄서 등을 만들어 무한히 많은 업데이트가 일어나게 하는 경우 시간 초과를 받을 수 있습니다.
만들어진 회로는 컴파일러와 인터프리터를 거쳐 실행됩니다. 이 컴파일러 및 인터프리터는 위의 입력 규칙 및 출력 규칙을 지키면서 회로를 프로그램처럼 실행하게 해 줍니다. 지문에 나와 있지 않은 세부 조건은 컴파일러 및 인터프리터의 코드를 참고하시기 바랍니다. 만일 위의 설명이 코드와 일치하지 않는 부분이 있으면 코드가 우선합니다.
인터프리터의 첫째 줄에 두 정수 A, B가 공백을 사이에 두고 주어집니다. (0 < A,B < 10)
인터프리터가 첫째 줄에 A+B의 값을 출력하도록 하세요.
추가 제약 조건이 없습니다.
다음 블록이 회로에 있어서는 안 됩니다: comparator
.
다음 블록이 회로에 있어서는 안 됩니다: redstone_wall_torch
및 redstone_torch
.
레드스톤 램프가 켜지거나 꺼지는 시간(출력 시간)을 제외하고 15 레드스톤 틱 이하에 모든 연산이 완료되어야 합니다.
1 2
3
서브태스크에 별도 명시되지 않는 한 틱 수에는 제한이 없으나, 연산량이 너무 많으면 시간 초과를 받을 수 있습니다. 연산량은 레드스톤 업데이트를 받는 횟수에 비례합니다.
Contest > BOJ User Contest > 구데기컵 > 진짜 최종 구데기컵 2 🌳번
Minecraft