ALGORITHM

1057_토너먼트

서울소시민 2018. 4. 20. 15:48

1057_토너먼트

  1. 다음 라운드의 수 = 8/2 + 8%2 라는 식을 알아야 한다.

  2. 라운드의 수가 같아지면 경기를 한다.

  3. 위의 방법을 어떻게 알 수 있었을까?

  4. 시뮬레이션 문제라고 해서 직접 다 해보려고 했다. 하지만 적절한 자료구조와 알고리즘이 생각나지 않았다.

  5. 그래서 이 문제에는 다음 라운드와 경기를 하게되는 규칙이 있었다.

  6. 처음에 정해진 순서 index는 여러가지 정보를 가지고 있다.

    1. 다음 라운드에서 몇번째 순서인지

    2. 누구와 경기를 하는지

  7. 위 정보들을 파악하면서 규칙을 찾게 된 것같다.

  8. 1,2가 경기를 한다 그리고 승자는 다시 1이된다.

  9. 3,4가 경기를 한다 그리고 승자는 2가 된다.

  10. 5,6이 경기를 한다. 승자는 3

  11. 7,8 -> 4

  12. 9,10 ->5

  13. 11,12 ->6

  14. 규칙이 보이게된다.


'ALGORITHM' 카테고리의 다른 글

1427_소트인사이드  (0) 2018.05.11
10974_모든순열  (0) 2018.04.21
1966_프린터 큐  (0) 2018.04.18
sw_1209_SUM  (0) 2018.04.17
sw_1226_미로1  (0) 2018.04.12