본문 바로가기

problem solving/TopCoder

TopCoder SRM 426

고수들이 하나둘씩 SRM을 시작하게 된 것인지 우리나라에 옐로우 레이팅을 가지신 분들이 늘어나고 있다. 오늘 SRM에는 우리나라에서 DIV1에 25명이 참가했다.

이번 문제들은 디스크립션을 이해하기가 참 난해했던 것 같다. 영어는 해석을 다 했으나 무슨말이지 잘 이해가 안되서 문제를 완전히 이해하는데 20분정도가 걸렸다. 문제를 이해하고 나니 쉬운 문제였는데 안타깝게도 점수는 이미 바닥을 향해 가고 있었다.

250문제는 간단한 시뮬레이션과 소팅을 결합해서 해결할 수 있는 문제였고 500은 터너리서치로 풀 수 있는 문제였다. 1000은 그래프이론을 적용해야 할 것 같은데 역시 잘 모르겠다.

petr가 상당히 부진한 모습을 보이며 62등을 했다


250 - Shuffling Machine

카드를 셔플링 하는 기계가 있는데 이 기계는 항상 같은 방법으로 카드를 섞는다. 벡터 shuffle이 이 기계가 카드를 섞는 방법을 나타낸다. 이 기계는 매 셔플마다 i번째 카드를 shuffle[i]로 옮긴다. 예를들어 {1, 0, 4, 3, 2}라는 벡터를 보면 이 기계는 0번째 카드를 1번째 위치로 옮기고, 1번 위치에 있는 카드를 0번으로, 2번 위치를 4번 위치로... 옮긴다. 기계는 1에서 maxShuffle 사이에서 랜던하게 수를 선택하여 그 횟수만큼 셔플을 한다.

플레이어는 셔플이 끝난 후 벡터 cardsReceived 에서 지정하는 위치에 있는 카드를 받게 된다. cardsReceived가 {0, 2, 6} 라면, 플레이어는 0번째, 2번째, 6번째에 위치한 카드를 받게된다. 이 플레이어는 기계가 항상 같은 방법으로 셔플을 하는 것을 이용하여 치팅을 하려 한다. 플레이어는 셔플이 시작되기 전에 자기가 받고 싶은 K장의 카드의 위치를 선택할 수 있다. 셔플이 완료된 후 플레이어가 받고 싶어 했던 K장의 카드 중 플레이어가 받을 수 있는 카드를 최대로 하려고 할 때 예상되는 카드의 장수를 리턴하라.




500 - Catch The Mice

"Catch The Mice" 라는 게임기가 있다. 이 게임기 안에는 장난감 쥐들이 돌아다니고 있다. 플레이어는 우리(cage)를 이동시켜 어느 순간 버튼을 눌러 cage를 떨어뜨려 cage안에 있는 쥐들을 잡을 수 있다.

쥐들은 2차원 평면상을 이동하고 이 평면은 무한히 크다고 가정해도 좋다. cage는 L*L크기의 정사각형이고 cage의 각 모서리는 축에 평행하다. 게임기의 주인은 플레이어가 cage안에 모든 쥐를 다 잡으면 스포츠카를 준다고 했지만 사실은 절대로 그런일이 발생하기를 원하지 않는다.

쥐들의 초기좌표(xp,yp)와 속도(xv,yv)가 주어졌을 때 절대로 모든쥐를 절대로 한번에 못잡게 하는 최대의 cage의 크기 L을 구하라. L의 경계에 걸린 쥐는 잡지 못한것으로 처리된다.




1000 - Long Straight Road

페트르 신도 틀렸는데..;;

'problem solving > TopCoder' 카테고리의 다른 글

TCO 09 Marathon Match Round 1  (0) 2009.03.09
TopCoder SRM 427  (0) 2008.11.26
TopCoder SRM 425  (0) 2008.11.15
TopCoder SRM 422  (0) 2008.10.20
TopCoder SRM 421  (0) 2008.10.09