나는 세계 스누커 선수권 대회를보고 있었는데
스누커 득점
스누커 게임에는 반드시 지켜야 할 규칙이 있습니다.
- 탁자 위에 빨간 공이 있으면, 당신의 차례 동안 먼저 빨간 공을 솥에 넣어야합니다
- 각 빨간 공을 포팅 한 후에는 유색 (빨간색이 아닌) 공을 포팅해야합니다.
- 모든 빨간 공이 올라간 후 (15 개가 있음) 먼저 색깔이있는 공을 선택한 다음 가장 낮은 공을 시작하여 가장 높은 공을 사용합니다 (대체되지 않음).
- 어떤 시점에서도 포팅하지 않으면 턴이 끝납니다.
- 공 당 포인트
- 빨간 공 : 1 점
- 노란 공 : 2 점
- 녹색 공 : 3 점
- 갈색 공 : 4 점
- 파란 공 : 5 점
- 핑크 볼 : 6 점
- 검은 공 : 7 점
질문
당신은 여전히 모든 공을 가지고있는 테이블 ( 15 개의 빨간색과 다른 색깔의 공 중 하나) 로 시작하고, 첫 턴 후에 스누커에서 선수의 점수를받습니다. 점수?
입력은 1에서 147까지의 점수가됩니다. 정수 또는 문자열인지 선택할 수 있습니다. 출력은 각 공을 포팅 한 횟수의 다른 조합이어야합니다.
테스트 사례 :
Input: 4
Output:
1r 1g
2r 1y
Input: 25
Output:
4r 3b
5r 2b 1br 1y
5r 2b 2g
...
9r 8y
규칙 :
- 당신은 가능성을 새로운 줄로 나눌 것인지 아니면 어떤 종류의 구분자로 나눌 것인지 선택할 수 있습니다 (/ ,; | \ 또는 내가 빠진 다른 것들)
이것은 codegolf이므로 가장 짧은 코드가 승리합니다.
배열 목록으로 출력 할 수 있습니까?
—
Leaky Nun
배열 출력과 관련하여 : 점수로 정렬 된 공의 수는 모호하지 않으므로 (일관성이
—
Jonathan Allan
"5r 3b 2g"있는 한) 출력 될 수 [5,0,2,0,3,0,0]있습니까?
당신이 사용하는
—
Jonathan Allan
b갈색과 bl청색; 그래서 bk검정을 위해? 우리가 사용할 수 n, e그리고 k(마지막 편지)는이 세 가지에 대해? 방법에 대한 dleruna여덟 개 색상 (각 3 글자)를 식별하기 위해?
@Shaggy, dleruna 또는 다른 것과 같은 색상 표시를 사용하는 경우 아니요. [5 0 0 4 1 0 0]과 같은 배열을 사용하는 경우 낮은 순서에서 높은 순서로 정렬해야합니다.
—
Michthan
설명을 위해 Ronnie "The Rocket"O 'Sullivan이 147 번 나누는 예가 있습니다.
—
Arnauld