역사적 배경
방패 벽은 전술 전쟁 형성으로 , 적어도 거슬러 올라갑니다. 2500 BC. 그것은 방패를 동료의 방패와 겹쳐서 '벽'을 형성하는 전사들로 구성되었습니다. 전술의 매력은 실력이 가장없는 전사조차도 방패와 무기가 있으면 벽에서 싸울 수 있다는 사실에서 비롯됩니다. 벽이 가까워서 움직일 공간이 거의 없었으며, 전투는 보통 날카로운 무기로 싸웠습니다.
도전
당신의 임무는 입력으로 두 전사의 배열 / 목록 / 벡터가 주어지면 전투의 결과를 결정하는 프로그램이나 기능을 만드는 것입니다. 이 목록은 한 줄짜리 방패 벽을 나타내며 특정 표기법을 따릅니다.
바이킹 :
북유럽 전사들은 치열한 전투를 벌였습니다. 8 세기 말에서 11 세기 중반까지 덴마크 바이킹은 영국 왕국을 침공하여 부와 농경지를 찾았습니다. 이 도전의 목적을 위해 이들은 바이킹 전사입니다.
JARL : 보통 벽의 중심에서 자신의 남자를 선도하는 발견은, jarls는 바이킹 무리의 지도자였다. 사망시 15의 데미지를 입히고 라운드 당 2의 피해를줍니다.Berserker는 : 환상이 크게 버서커의 이미지를 비틀어 있지만, 이러한 전사는 방패가 아닌 보호의 어떤 종류없이 무아 지경 같은 분노에 싸움을하는 것으로 알려져 있었다. 6의 데미지를 입히고 라운드 당 3의 피해를줍니다.- 그만큼
Chieftain : 족장이 자신의 서비스에서 무료로 남성이 있었다 부자했다. 그들은 대개 전투에서 큰 영광과 부를 얻었습니다. 죽는 데 10의 피해를 입히고 라운드 당 2의 피해를줍니다. - 무료
Men : 족장을 섬기는 전사들. 그들은 죽을 때까지 영주를 위해 싸울 것을 맹세했습니다. 죽는 데 8의 피해를 입히고 한 라운드에 1의 피해를줍니다. Skald : Skalds, 보통 음유 시인으로 번역은 북유럽 전사의 위대한 업적에 대한시, 이야기 나 노래를 작성하는 고용 된 자유인이었다. 8의 데미지를 입히고, 인접한 각 전사에게 1의 추가 피해를줍니다. 해골 은 피해를 입지 않습니다 . 전사 는 이런 식으로 추가 피해를 2 회 이상받을 수 없습니다 .
색슨 족 :
색슨 족은 5 세기 로마 제국의 멸망에 이어 유럽 대륙에서 영국에 정착하게되었습니다. 이 도전의 목적을 위해 색슨 족의 전사가 있습니다.
EARL : Ealdormen , 일반적으로 얼스라는이 높은 귀족의 일원이었다. 그들은 대개 큰 땅을 가졌으며 수백 또는 수천 명의 맹세 한 남자가있었습니다. 20의 데미지를 입히고 라운드 당 1의 피해를줍니다.K밤 : 더 나은 용어의 부족의 경우, 기사는 약간의 땅을 소유 작은 귀족이었다. 대부분의 경우 기사들은 얼에게 종을 맹세했습니다. 죽는 데 10의 피해를 입히고 라운드 당 2의 피해를줍니다.Warrior : 일반적인 남성, 토지 또는 기사를 제공 농민없이 일반적으로 작은 귀족. 기사 또는 백작에 인접한 전사는 +1의 피해 보너스를받습니다. 죽는 데 8의 피해를 입히고 라운드 당 2의 피해를줍니다.FYRD 다음 Fyrd이었다 민병대와 같은 어떤 무기 (또는 구현 농업 무기 등)가 벽에 싸워야했다을 가져다 줄 자유인, 일반적으로 가난한 농부의 그룹. 죽는 데 5의 피해를 입히고 라운드 당 1의 피해를줍니다.Priest : 사제는 높은 하나님의 말씀의 전령 인, 초기 색슨 문화에서 평가되었다. 사제는 15의 피해를 입히고, 인접한 각 전사가받는 최대 1의 피해를 방지합니다. 사제 는 피해를 입히지 않습니다 . 사제 는 전사에게 두 번 이상의 피해를 입힐 수 없습니다 .
벽
벽은 중앙에서 서로 만납니다. 매 라운드마다, 전사마다 직접 전사에게 피해를 주거나, 전방에 살아있는 전사가없는 경우, 체력이 가장 적은 대각선으로 인접한 살아있는 전사입니다. 넥타이가 있다면 벽 가장자리에 가까운 전사를 선택하십시오.
예:
Vikings
[M,M,M,B,B,C,J,C,B,B,M,M,M]
[F,F,F,W,W,K,E,K,W,W,F,F,F]
Saxons
To make matters easier, let's convert these walls into numbers:
Round 0:
M M M B B C J C B B M M M
[8,8,8,6,6,10,15,10,6,6,8,8,8]
[5,5,5,8,8,10,20,10,8,8,5,5,5]
F F F W W K E K W W F F F
Round 1: Notice that 2 of the Saxons' warriors are adjacent to Knights, so they have a +1 damage bonus.
M M M B B C J C B B M M M
[7,7,7,4,3,8,14,8,3,4,7,7,7]
| | | | | | || | | | | | |
[4,4,4,5,5,8,18,8,5,5,4,4,4]
F F F W W K E K W W F F F
Round 2:
M M M B B C J C B B M M M
[6,6,6,2,0,6,13,6,0,2,6,6,6]
| | | | | | || | | | | | |
[3,3,3,2,2,6,16,6,2,2,3,3,3]
F F F W W K E K W W F F F
Round 3: Remember to collapse the arrays to account for dead warriors. Also, notice that the 2 outermost Fyrd are now attacking the diagonally adjacent viking.
M M M B C J C B M M M
[4,5,4,0,4,12,4,0,4,5,4]
/| | | | | || | | | | |\
[2,2,2,1,0,4,14,4,0,1,2,2,2]
F F F W W K E K W W F F F
Round 4: Notice once again the saxon Warriors next to the Knights dealing 3 damage:
M M M C J C M M M
[2,4,1,2,11,2,1,4,2]
/| | | | || | | | |\
[2,1,1,0,2,12,2,0,1,1,2]
F F F W K E K W F F F
Round 5:
M M M C J C M M M
[1,3,0,0,10,0,0,3,1]
| | | | || | | | |
[1,0,0,0,10,0,0,0,1]
F F F K E K F F F
Round 6:
M M J M M
[1,2,9,2,1]
\| | |/
[0,8,0]
F E F
Rounds 7 and 8:
M M J M M M M J M M
[1,2,8,2,1] [1,2,8,2,1]
\|/ \|/
[4] [0]
E E
Output: Viking victory.
규칙 :
- 기본 허점이 적용됩니다.
- 편리한 IO 방법을 사용할 수 있습니다 .
- 이것은 code-golf 이므로 가장 짧은 코드 (바이트 단위)가 이깁니다.
- 당신 은 목록의 길이가 같을 것이라고 생각 하지 않을 수도 있지만, 중앙에서 항상 정렬 할 수 있습니다 (목록의 크기가 다른 경우 각 목록에 항상 홀수의 전사가있을 것입니다).
- 진실 / 거짓 값을 출력 할 수 있습니다. 답 에 "Viking / Saxon victory"와 동등한 것을 지정하십시오 .
- 패자는 벽의 모든 전사가 죽었을 때 결정됩니다.
코드 실행 중에 정렬 할 수없는 벽으로 끝나는 경우 가능한 한 중앙에 정렬하여 더 긴 벽에있는 한 명의 전사를 오른쪽으로 남겨 둡니다. 예 :
[M,M,M,J,M,M,M] [K,E,K,W]; [B,B,B,J] [K,K,W,W,K,E,K,W,W,K,K]테스트 케이스의 벽뿐만 아니라 벽면 설정으로 코드를 자유롭게 테스트하고 테스트하십시오.
테스트 사례 :
V: [M,M,B,C,B,C,J,C,B,C,B,M,M]
S: [F,F,W,K,W,K,E,K,W,K,W,F,F]
O: Viking victory.
------------------------------
V: [M,M,M,M,M,M,M,M,M,M]
S: [W,W,W,W,W,W,W,W,W,W]
O: Saxon victory.
------------------------------
V: [B,C,M,B,C,M,M,C,B,M,C,B,M]
S: [W,F,W,F,E,E,E,F,W,F,W]
O: Viking victory.
------------------------------
V: [B,B,B,J,B,B,B]
S: [W,W,W,W,K,K,K,E,K,K,K,W,W,W,W]
O: Saxon victory.
------------------------------
V: [J]
S: [E]
O: Viking victory.
------------------------------
V: [C,C,C,C,B,B,M,M,M,M,J,J,J,M,M,M,M,B,B,C,C,C,C]
S: [K,K,K,K,K,K,K,K,K,K,W,E,W,K,K,K,K,K,K,K,K,K,K]
O: Saxon victory.
------------------------------
V: [M,M,S,C,B,J,B,C,S,M,M]
S: [F,K,P,W,K,E,K,W,P,K,F]
O: Saxon victory.
------------------------------
V: [S,S,S,...,S]
S: [P,P,P,...,P]
O: UNDEFINED (since both priests and skalds deal no damage, you can output anything here.)
------------------------------
역사적으로 부정확 한 부분이 있습니다. 그들을 지적하고 난 그들을 해결하기 위해 최선을 다하겠습니다.
(health, damage, damagebonus, protbonus))