소개:
지금 당장 배드민턴 관련 도전 은 하나 밖에 없었습니다 . 내가 배드민턴을했기 때문에 (지난 13 년 동안) 배드민턴 관련 도전을 추가 할 것이라고 생각했다. 여기 두 번째 ( 첫 번째는 여기에서 찾을 수 있습니다 ) :
도전:
배드민턴에 대한 몇 가지 규칙이 제공됩니다.
- 서빙은 항상 그물을 통해 대각선으로 수행됩니다.
- 당신은 항상 그물에 평행하고 가장 가까운 선을 따라야합니다.
- 당신이 봉사 할 수있는 지역은 싱글 (1 대 1)인지 더블 / 믹스 (2 대 2)인지에 따라 다릅니다.
- 싱글 (1 대 1)의 경우 아래 그림의 파란색 영역이 봉사 할 수있는 곳입니다. 따라서 이것은 뒷면에 부품을 포함하지만 측면에있는 부품은 제외합니다.
- 더블 / 믹스 (2 대 2)의 경우, 아래 그림의 녹색 영역은 서버가 허용되는 곳입니다. 따라서 뒷면의 부품은 제외하지만 측면의 부품은 포함됩니다.
- 서빙 할 때 줄에 서 있지 않을 수 있습니다. 그러나 셔틀이 노선 위에 도착하면 여전히 내부에 있습니다.
도전 규칙 :
입력:
두 가지 입력이 제공됩니다.
- 단일 또는 이중 / 믹스 (예 : 부울)를 연주하는지 여부
- 뭔가는 당신이에서 제공하고 (즉, 차단 나타 내기 위해
[1,2,3,4]
또는['A','B','C','D']
으로는 위의 그림에서 사용).
산출:
서비스 제공 위치를 나타내는를 포함하고 현재 서비스 F
를 제공 할 T
위치를 나타내는 복수 를 포함하여 현재 서브 (넷 포함)에 대한 관련 회선 만 .
실제로 지정된 지역의 어느 곳에서나 봉사 할 수는 있지만, 봉사 할 사람은 항상 봉사의 구석에 서있을 것입니다. F
. 그리고 그들은 그들이 봉사해야 할 곳의 네 구석 중 하나에 봉사 할 것 T
입니다.
ASCII 기술로 전체 배드민턴 필드는 다음과 같습니다 (숫자가 추가되므로 직접 계산할 필요가 없습니다).
2 15 15 2
+--+---------------+---------------+--+
| | | | | 1
+--+---------------+---------------+--+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | 9
| | | | |
| | | | |
| | | | |
| | | | |
+--+---------------+---------------+--+
| | | | | 2
| | | | |
O=====================================O 37 times '='
| | | | |
| | | | | 2
+--+---------------+---------------+--+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | 9
| | | | |
| | | | |
| | | | |
| | | | |
+--+---------------+---------------+--+
| | | | | 1
+--+---------------+---------------+--+
예 :
서브의 관련 부분 만 출력하는 두 가지 예는 다음과 같습니다.
입력 : 단일 및 서브 블록 A
출력 :
T---------------T
| |
+---------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
T---------------T
| |
| |
O=====================================O
| |
| |
+---------------+
| F|
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+
| |
+---------------+
보시다시피 F
, 블록 내의 모서리에가 추가되지만 ASCI 아트 출력에서 T
가 대체 +
됩니다.
입력 : 더블 및 서빙 블록 C
출력 :
+--+---------------+
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | F|
+--+---------------+
| | |
| | |
O=====================================O
| | |
| | |
T---------------+--T
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
T---------------+--T
도전 규칙 :
- 선행 및 후행 줄 바꿈은 선택 사항입니다 (입력이 단일 인 경우 선행 및 후행 두 개의 빈 줄 포함). 후행 공간도 선택 사항입니다. 그러나 선행 공간은 필수입니다.
- 우리가 서비스를 제공하는 블록을 나타내는 4 개의 합리적인 개별 입력 (정수의 경우 [-999,999] 범위 내에 머물러 있음); 단일 또는 이중 / 혼합인지 여부를 나타내는 두 개의 합리적인 구별 입력 ( 이 관련 금지 된 허점에 유의 하십시오 ). 답변에 사용한 I / O를 명시하십시오!
- 당신은 소문자를 사용하도록 허용
f
하고t
대신 (또는 혼합 된 경우)F
및T
. - 단일 출력 문자열을 반환하거나 인쇄하는 대신 행 또는 문자 매트릭스 목록을 반환 할 수 있습니다.
일반 규칙:
- 이것은 코드 골프바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙 은 기본 I / O 규칙으로 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트와 링크를 추가하십시오 (예 : TIO ).
- 또한 답변에 대한 설명을 추가하는 것이 좋습니다.