Biham - 미들 - 레빈 트래픽 모델은 모델은 트래픽을 단순화하는 자기 조직 세포 자동자입니다.
임의의 시작 위치를 가진 격자의 점으로 표시되는 여러 자동차로 구성되며, 각 자동차는 아래로만 움직이는 자동차 (이 기사에서는 파란색으로 표시)와 오른쪽 (이 기사에서는 빨간색으로 표시). 두 종류의 자동차가 교대로 이동합니다. 매 턴마다 해당 유형의 모든 차량이 다른 차량에 의해 차단되지 않은 경우 한 단계 씩 전진합니다.
당신의 임무는이 모델을 애니메이션으로 시각화하는 것입니다. 다음은 좋은 데모입니다.
입력
밀도를 나타내는 0과 1 사이의 부동 소수점 숫자와 표시되는 격자 높이와 너비를 나타내는 두 정수 입력이 유효하다고 가정하고 함수에 대한 매개 변수 또는 사용자 입력에서 읽은 매개 변수는 모두 양호합니다.
예 : 0.38 144 89
(위의 이미지에 해당)
산출
실행중인이 모델의 애니메이션을 표시하는 그리드 (최소 80x80)입니다. 시작시, 그리드가 입력 밀도에 도달 할 때까지 빨간색과 절반이 파란색으로 표시됩니다 (즉, 원하는대로 반올림 한 그리드 사각형의 총 밀도 수). 밀도 는 이 값 이어야합니다. 즉, 밀도로 각 셀을 확률로 채울 수 없습니다. 각 단계마다 한 가지 유형의 자동차가 아래쪽 또는 오른쪽으로 이동하여 가장자리를 지나갈 때 감싸집니다. 움직이는 차의 종류는 각 단계를 번갈아 가며 나타냅니다. 애니메이션을 볼 수있게하려면 각 단계 사이에 10ms 이상이 있어야합니다.
규칙
자동차는 서로 및 배경이 구별 될 수있는 한 임의의 색상 또는 기호 일 수 있으며, 각 자동차 유형은 동일한 색상 또는 기호입니다.
콘솔 및 그래픽 출력이 모두 허용됩니다. 콘솔 출력의 경우 인쇄 가능한 기호는 괜찮지 만 출력은 문자 그리드 여야합니다.
스크린 샷이나 gif가없는 경우 어떤 종류의 출력을 생성했는지 지정하십시오.
시뮬레이션은 영원히 실행되어야합니다.
출력은 약간 복잡하므로 질문이 있으면 의견을 말하십시오.