감기걸려서 억울해서 걍 대충 풍요속 빈곤 비스무리한 문제를 만들었음.
역시나 다같이 알고리즘을 구상해보자.
1. 게임은 총 3팀으로 진행된다.
(여기선 예시를 위해 각각 1, 2, 3팀이라 가정한다.)
2. 각 팀은 매 턴마다 100명의 병사를 보충받는다.
3. 각 팀은 매 턴마다 자신을 제외한 두 팀에 몇 명의 병사를 보낼 수 있는지 결정 할 수 있다. 또한 병사를 비축할수도 있다.
비축과 병사를 보내는것은 동시에 가능하다.
예) 50은 적에게 보내고 50명 비축 가능.
4. 만약 병사끼리 충돌하면 아군 병사 1명과 적군 병사 1명씩 대비되어 사라진다.
예 ) 1팀 60명과 2팀 40명이 만나면 결과적으로는 1팀 20명이 남음.
5. 그렇게 병사가 상대 진영에 도착하면 병사1명당 +1점을 얻는다 ( 상대 진영에 도착한 병사는 소멸한다. )
또한 침략을 받은 병사만큼 점수가 -1된다.
예 ) 위에 예시에 1팀 20명이 남았으므로, 1팀 + 20점.
2팀은 -20점
6. 매 턴마다 이전턴에 누가 자신에게 몇명의 병사를 보냈는지는 알 수 있다
예) 만약 2팀이 1팀에 50, 3팀에 50명 보냈다면, 다음턴에 1팀은 2팀이 자신에게 50명을 보냈다는걸 알 수 있지만, 1팀은 2팀이 3팀에게 50명을 보냈다는 사실은 알 수 없음.
7. 턴은 총 100번 진행하며, 100회 후 비축되있던 병사는 0점으로 소멸한다.
간단한 예시로 알아보자
1 - 2 와 3에게 매 턴 50명
2 - 나에게 가장 큰 공격을 한놈에게 전력을 다한다.
3 - 시나리오용 임시방편
1턴 )
1 - 100명 - 2와 3에 각각 50명씩 보냄
2 - 100명 - 비축
3 - 100명 - 1에는 60, 2에는 40을 보냄.
1의 50명과 3의 40명은 2에 도착 즉 1 +50점 3 +40점
1 50명과 3 60명 충돌 - 3 10명 생존 즉 3 + 10점
2는 -90점
1은 -10점
2턴 )
1 - 40점 - 100명 - 2와3 에게 50명 보냄
2 - -90점 - 200명 - 1에게 200명 보냄
3 - 1에게 10점 2에게 40점 총 50점 - 비축
3턴
1 - 0점 - 100명
2 - 60점 - 100명
3 - 50점 - 200명
...
이렇게 진행되는 겜임.
내가 코딩을 그렇게 잘하는건 아니지만
그래도 옛날에 조금 만져본 기억을 삼아
어떻게든 만들어볼게.
자 이제 알고리즘 짜죠?
질문있음 언제든지 가능.