왜 시뮬레이터인가?
요즘 아이들은 실제로 시소에 상자를 쌓아 놓거나 물리적 물체의 균형을 잡는 데 시간과 야망이 없습니다. 이것은 소프트웨어 모델에 레버 시뮬레이터를위한 많은 공간을 남겨 둡니다. 레버 시뮬레이터는 내 모델에 따르면 미친 것처럼 판매합니다!
원하는 프로그래밍 도움말
그러한 게임에 대한 특허를 출원 중이지만 (보류 중), 게임 로직을 작성하려면 전문 프로그래머가 필요합니다. 내가 이해 한 바에 따르면 최종 프로그램의 바이트 크기를 기준으로 프로그래머를 보상하는 것이 표준 관행 입니다. 따라서 나는 가장 유리한 입찰자에게이 유리한 계약을 수여 할 것입니다.
사양
레버는 받침으로 균형을 이루는 일련의 상자 또는 빈 공간입니다. 각 상자에는 1 에서 9 까지 의 특정 무게가 있으며 공간에는 무게가 없습니다. 아시다시피, 레버의 상자 무게는 상자가 받침에서 얼마나 떨어져 있는지에 정비례합니다. 4
받침점에서 세 번째 공간에있는 무게 상자 12
는 레버의 측면에 효과적인 힘의 단위를 제공합니다.
입력 레버가 주어지면 레버가 왼쪽, 오른쪽으로 기울어 지거나 완벽하게 균형을 잡을지 여부를 출력하는 프로그램이 필요합니다.
I / O 지침
- 당신은 나를 위해 프로그램을 작성합니다.
- 입력은 한 줄의 텍스트를 포함합니다.
- 입력은
stdin
하나의 명령 행 문자열 에서 나옵니다 . - 상자는 '
1
'- '9
' 문자로 표시됩니다 . 이 문자들은 각각의 가중치를 나타냅니다. 빈 공간은 공백 '' 으로 표시됩니다 . 받침점은 캐럿 '
^
' 으로 표시됩니다 .
샘플 입력 레버는 다음과 같습니다. 8 2^ 941
이 레버는 완벽하게 균형을 이룹니다 : (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- 선행 또는 후행 공백이 없습니다. 후행 줄 바꿈이 없습니다.
- 잘못된 입력을 처리 할 필요가 없으며 입력에는 항상 정확히 하나의 받침점이 있고 숫자와 공백 만 있습니다.
- 출력은 레버가 왼쪽, 오른쪽 또는 균형인지를 나타냅니다.
- 프로그램에는 올바른 형식의 입력으로 생성 될 수있는 3 가지 가능한 출력이 있어야합니다. 이것들이 무엇인지 선택할 수 있습니다.
- 출력은 인쇄
stdout
되거나 프로그램의 리턴 코드 여야합니다.
테스트 사례
여기 내가 사용 L
, R
, B
균형 왼쪽 무거운 마우스 오른쪽 무거운를 의미합니다 :
입력 :
11 ^9
출력 :B
입력 :
321^ 12
출력 :L
입력 :
9^ 1
출력 :R
(누군가 "trickier"테스트 사례가있는 경우 자유롭게 수정하십시오.)
서지
불필요하게 영감을 얻지 만 시소에 무게 세트 균형 을 잡는 것과 관련이 있습니다.
^16
와 같이 16^
또는 ^
? (가능하다고 가정)
The output must either be print to stdout or be the return code of the program.
자, 이제 종료 코드에 시소 표기법을 사용하는 Linux 배포판을 작성하도록 요청합니다.