감기걸려서 억울해서 걍 대충 풍요속 빈곤 비스무리한 문제를 만들었음.

역시나 다같이 알고리즘을 구상해보자.


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명

...


이렇게 진행되는 겜임.

내가 코딩을 그렇게 잘하는건 아니지만

그래도 옛날에 조금 만져본 기억을 삼아

어떻게든 만들어볼게.



자 이제 알고리즘 짜죠?

질문있음 언제든지 가능.