에서는 축구 협회 (또한 축구로 알려진)와, 승부 차기는 넥타이 끝나지 수 매치에서 사용될 수있는 두 번째 타이 브레이커의 측정은, 별도의 시간 (예를 축구 협회 시간외) 후이다.
페널티 슛 아웃에서 주심은 슛 아웃의 목표를 결정하기 위해 동전을 던지고, 어떤 팀이 먼저 시작하는지 결정하기 위해 다른 동전을 던집니다. 그러나이 문제와 관련된 유일한 것은 아래에 설명 된 것입니다.
각 팀은 시작시 5 개의 페널티를 가지며 페널티 점수는 0-0입니다. 어느 시점에서든 팀의 남은 위약금이 현재 승리 한 팀을 변경하기에 충분하지 않으면 슛 아웃이 중단됩니다.
남은 벌칙은 없지만 두 팀의 점수가 동일하면 두 팀 모두에 추가 벌칙이 부여됩니다. 포인트가 동일하지 않을 때까지이 과정이 반복됩니다.
총격이 중단 된 후, 가장 큰 페널티 점수를 가진 팀이 게임에서 승리합니다.
도전
당신의 도전은 두 개의 목록 A
과 B
팀 A와 B 팀이 각각 유효한 페널티 슛 아웃을 나타내는지를 결정하기 위해 각각 득점 한 벌칙을 나타냅니다. 승리 팀을 결정할 수 있는지 여부에 관계없이 입력으로 표시되는 상태에 도달 할 수있는 경우 슛 아웃이 유효합니다. 입력에 설명 된 상태가 하나 이상의 시나리오에 도달 할 수있는 경우 입력이 유효하므로 두 시나리오 (팀 A 시작, 팀 B 시작)에 대해 테스트해야합니다. 목록의 길이가 다르면 더 긴 팀으로 대표되는 팀이 먼저 시작합니다 (다른 팀보다 하나 이상의 요소 만 가질 수 있고 더 짧은 목록의 팀은 시작할 수 없습니다). 짧은 목록은 조기에 고갈되므로 행에 계속 표시됩니다.
자세한 예
아래 의 규칙 섹션으로 건너 뛸 수 있습니다 . 이는 도전 과제 해결에만 도움이됩니다.
이 총격을 입력으로받는다고 가정합니다. 여기서 -
골 득점이없고 골이 득점 X
되었음을 의미합니다 (잘못된).
Team A: - X X X X
Team B: - - - - X
Assuming team A starts first:
Team A: - (0 - 0) (max possible score 4 - 5)
Team B: - (0 - 0) (max possible score 4 - 4)
Team A: X (1 - 0) (max possible score 4 - 4)
Team B: - (1 - 0) (max possible score 4 - 3)
Team A: X (2 - 0) (max possible score 4 - 3)
Team B: - (2 - 0) (max possible score 4 - 2)
Team A: X (3 - 0) (max possible score 4 - 2)
Team A already has a higher score than B could ever have, but the input hasn't
ended yet, so it's invalid if team A is first.
Assuming team B starts first:
Team B: - (0 - 0) (max possible score 5 - 4)
Team A: - (0 - 0) (max possible score 4 - 4)
Team B: - (0 - 0) (max possible score 4 - 3)
Team A: X (1 - 0) (max possible score 4 - 3)
Team B: - (1 - 0) (max possible score 4 - 2)
Team A: X (2 - 0) (max possible score 4 - 2)
Team B: - (2 - 0) (max possible score 4 - 1)
Team A already has a higher score than B could ever have, but the input hasn't
ended yet, so it's invalid if team B stars first.
The input is invalid no matter which team starts first, so it's considered
invalid.
반대로 올바른 예는 다음과 같습니다.
Team A: X X X
Team B: - - -
Assuming team A starts first:
Team A: X (1 - 0) (max possible score 5 - 5)
Team B: - (1 - 0) (max possible score 5 - 4)
Team A: X (2 - 0) (max possible score 5 - 4)
Team B: - (2 - 0) (max possible score 5 - 3)
Team A: X (3 - 0) (max possible score 5 - 3)
Team B: - (3 - 0) (max possible score 5 - 2)
It can be determined that team A wins, however the input has ended, so it's
valid if team A starts first. Therefore, the input is valid.
또 다른 예, 이번에는 추가 페널티가 있습니다.
Team A: X - X - - - X -
Team B: - X X - - - X X
Assuming team A starts first:
Team A: X (1 - 0) (max possible score 5 - 5)
Team B: - (1 - 0) (max possible score 5 - 4)
Team A: - (1 - 0) (max possible score 4 - 4)
Team B: X (1 - 1) (max possible score 4 - 4)
Team A: X (2 - 1) (max possible score 4 - 4)
Team B: X (2 - 2) (max possible score 4 - 4)
Team A: - (2 - 2) (max possible score 3 - 4)
Team B: - (2 - 2) (max possible score 3 - 3)
Team A: - (2 - 2) (max possible score 2 - 3)
Team B: - (2 - 2) (max possible score 2 - 2)
First 5 penalties result in a tie, so we move on to extra penalties.
Team A: -, Team B: - (2 - 2)
Team A: X, Team B: X (3 - 3)
Team A: -, Team B: X (3 - 4)
It can be determined that team B wins, however the input has ended, so it's
valid if team A starts first. Therefore, the input is valid.
우승자를 결정하기에는 너무 이른 올바른 입력 내용이 있습니다.
Team A: X X - -
Team B: - X - X
Assuming team A starts first:
Team A: X (1 - 0) (max possible score 5 - 5)
Team B: - (1 - 0) (max possible score 5 - 4)
Team A: X (2 - 0) (max possible score 5 - 4)
Team B: X (2 - 1) (max possible score 5 - 4)
Team A: - (2 - 1) (max possible score 4 - 4)
Team B: - (2 - 1) (max possible score 4 - 3)
Team A: - (2 - 1) (max possible score 3 - 3)
Team B: X (2 - 2) (max possible score 3 - 3)
The input has ended before the winner can be determined, so it's valid if team A
starts first. Therefore, the input is valid.
마지막으로,리스트의 길이가 다른 입력이 있습니다 :
Team A: - - -
Team B: X X - X
Since team B shot more penalties, it starts first:
Team B: X (0 - 1) (max possible score 5 - 5)
Team A: - (0 - 1) (max possible score 4 - 5)
Team B: X (0 - 2) (max possible score 4 - 5)
Team A: - (0 - 2) (max possible score 3 - 5)
Team B: - (0 - 2) (max possible score 3 - 4)
Team A: - (0 - 2) (max possible score 2 - 4)
Team B: X (0 - 3) (max possible score 2 - 4)
It can be determined that team B wins, however the input has ended, so it's
valid.
규칙
- 먼저 쏘는 팀은 A 또는 B가 될 수 있습니다. 항상 먼저 쏴야한다고 가정 할 수는 없습니다.
- 목록의 길이가 같거나 길이가 다를 수 있습니다.
- 득점 / 점수 불이익을 나타 내기 위해 두 가지 명확하고 일관된 값을 선택할 수 있습니다.
- 목록은 또한 형용사 기준 2, 문자열 또는 사용자 언어의 기본 목록 형식 에서 변환 된 정수로 표시 될 수 있습니다 . Bijective Base 2 형식을 선택하면 입력 규칙이 Bijective Base 2로 변환 된 숫자에 적용됩니다 (따라서 숫자
1
및2
점수를 매기거나 점수를 매기 지 않거나 점수를 매기 지 않음). 일반 이진은 의도 된 이진 표현에서 선행 제로의 존재를 확인할 수 없으므로 허용되지 않습니다 . - 이것은 code-golf 이므로 가장 짧은 솔루션이 승리합니다. 그러나 귀하의 언어가 "특화된 언어를 능가"할 수없는 것처럼 보이더라도 대답하지 마십시오.
테스트 사례
이 테스트 사례에서 0
유언장은 무 목표 1
를 나타내고 유언장은 목표를 나타냅니다.
체재:
[Team A], [Team B]
유효한 입력 :
[], []
[0], [0]
[0], [1]
[1], [1]
[0], []
[1, 1, 1, 1], [0, 0, 1, 1]
[0, 1, 1, 1, 1], [0, 1, 1, 0]
[0, 0, 0, 0, 1], [0, 0, 0, 1, 0]
[0, 0, 0, 0, 1], [0, 0, 0, 1]
[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1]
[0, 1, 1, 1, 1], [0, 1, 1, 0, 1]
[1, 1, 1], [0, 0, 0]
[1, 1, 1, 1], [0, 0, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
유효하지 않은 입력 :
[0, 1, 1, 1, 1], [0, 1, 1, 0, 0]
[0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 1, 0]
[0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 1]
[1, 1, 1, 0], [0, 0, 0]
[1, 1, 1, 1], [0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
[1, 0, 1, 0, 1], [0, 1, 0, 1, 0, 1]
[0, 0, 0, 0, 1], [0, 1, 1, 1, 0]
[[0,0],[1,1]]
(또는 두 개의 내부 목록 중 하나가이 개 항목이 어떤 테스트 케이스) 게임이 계속 진행되기 때문에, truthy이다 (단지 테스트 케이스처럼 [[0],[1]]
또는 [[0],[]]
아직 진행 중입니다)?