Algorithm(39)
-
[TopCoder] BadNeighbors (나쁜 이웃들)
옛 노래는 "이웃을 미워하라"고 선언하고, 오네틴빌 주민들은 그 말을 마음에 새겼다. 모든 주민들은 양쪽 모두 옆집 이웃들을 싫어한다. 그의 이웃들만큼 마을 우물에서 멀리 떨어진 곳에 살고 싶어하는 사람은 아무도 없기 때문에 마을은 우물 주위에 큰 원을 그리며 배열되어 있다. 불행하게도, 그 마을의 우물은 황폐해졌고 복구가 필요하다. 당신은 세이브 오어 웰 기금을 위한 기부금을 모으기 위해 고용되었습니다. 마을 주민 각자는 기부금에 명시된 대로 일정 금액을 기부할 의사가 있으며, 이는 우물 주위에 시계 방향으로 나열되어 있다. 하지만, 아무도 그의 이웃이 기부한 기금에 기꺼이 기부하려 하지 않는다. 기부금의 첫 번째와 마지막 항목이 이웃을 위한 것이라는 점을 제외하고는 이웃이 기부금에 항상 연속적으로 등..
2023.02.25 -
[TopCoder] CorporationSalary (회사 급여)
당신은 대기업 인사과에서 일하고 있습니다. 각 직원은 여러 명의 직접 관리자 및/또는 여러 명의 직접 부하 직원을 가질 수 있습니다. 물론 그의 부하직원들도 그들만의 부하직원이 있을 수 있고, 그의 직속상관들도 그들만의 관리자가 있을 수 있다. 우리는 X가 A의 지배인, A가 B의 지배인, D가 Y의 지배인 등 일련의 종업원 A, B, ..., D가 존재한다면 종업원 X는 종업원 Y의 보스라고 말한다(물론 X가 종업원 Y의 직접 지배인이라면 X는 종업원 Y의 보스가 될 것이다). 만약 A가 B의 보스라면, B는 A의 보스가 될 수 없다. 새로운 회사 방침에 따르면, 부하 직원이 없는 직원의 급여는 1입니다. 만약 직원에게 부하 직원이 있다면, 그의 급여는 그의 직속 부하 직원들의 급여를 합한 것과 같다...
2023.02.25 -
[Topcoder] NumberMagicEasy(숫자 마술 - 쉬움)
타로는 하나코에게 마술을 보여준다. 타로: 안녕하세요 하나코. 제가 마술을 보여드릴게요. 16보다 작거나 같은 양의 정수를 상상하십시오. 하나코: 알았어. 상상했어요. 타로: (타로가 하나코에게 1번 카드를 보여줍니다.) 이 카드에 당신의 번호가 들어 있나요? 하나코: 네. 타로: (타로가 하나코에게 2번 카드를 보여줍니다.) 이 카드에 당신의 번호가 들어 있나요? 하나코: 아니요. 타로: (타로가 하나코에게 3번 카드를 보여줍니다.) 이 카드에 당신의 번호가 들어 있나요? 하나코: 네. 타로: (타로가 하나코에게 4번 카드를 보여줍니다.) 이 카드에 당신의 번호가 들어 있나요? 하나코: 네. 타로: 네 번호는 5번이야! 당신의 임무는 이 마술을 모방한 프로그램을 작성하는 것이다. 답에는 하나코의 답이 ..
2023.02.19 -
[Topcoder] MazeMaker(미로 제작자)
마이크 마제마이스터는 최근 그의 뒷마당에 큰 미로를 만들었다. 미로의 i번째 요소의 j번째 문자는 사각형이 통과할 수 없는 덤불이면 'X'이고, 그렇지 않으면 '.'이다. 마이크는 그의 친구인 점프 짐이 미로를 풀기를 원한다. Jim은 열 startCol의 행 startRow에서 시작합니다. 전형적인 미로 해결사들과는 달리, 짐은 단순히 걷는 것이 아니라 미로를 통해 점프할 수 있는 능력을 가지고 있습니다. 짐의 가능한 움직임은 moveRow와 moveCol에 설명되어 있다. i번째 요소는 짐이 현재 행을 moveRow[i]로 변경하고 현재 열을 moveCol[i]로 변경할 수 있는 이동에 해당합니다. 예를 들어 moveRow = {1, 0, -1}이고 moveCol = {3, -2, 5}인 경우 Jim..
2023.02.19 -
[Topcoder] CrazyBot(미친 로봇)
통제 불능의 로봇이 평면에 올려지고, 그것은 무작위적인 단계를 밟는다. 각 단계에서 로봇은 네 방향 중 하나를 무작위로 선택하고 해당 방향으로 한 단위를 이동합니다. 로봇이 북쪽, 남쪽, 동쪽 또는 서쪽을 선택할 확률은 각각 북쪽, 남쪽, 동쪽 및 서쪽 퍼센트입니다. 로봇이 동일한 지점을 두 번 이상 방문하지 않는 경우 로봇의 경로는 단순한 것으로 간주됩니다. (로봇의 시작 지점은 항상 처음 방문한 지점입니다.) 로봇의 경로가 단순할 확률이 포함된 double를 반환합니다. 예를 들어, "EEN"과 "ENW"는 단순하지만, "ENWS"와 "WWWSNE"는 아니다. ('E', 'W', 'N', 'S'는 각각 동서남북을 나타낸다.)\ Definition Class: CrazyBot Method: getPro..
2023.02.19 -
[Topcoder] InterestingParty(흥미로운 파티)
화이트 씨는 매우 다재다능한 사람이다. 그에게는 모든 것이 확실히 흥미롭다. 아마도 이것이 그에게 많은 친구들이 있는 이유일 것이다. 하지만, 꽤 불행하게도, 그의 친구들 중 누구도 다재다능하지 않다. 그들은 각각 두 가지 주제에만 관심이 있고 다른 어떤 것에 대해서도 말하기를 거부한다. 따라서 화이트 씨가 파티를 조직할 때마다 파티가 모두에게 흥미롭게 보이도록 누구를 초대할지 결정하는 것은 큰 문제입니다. 화이트 씨는 파티를 조직한 경험이 많기 때문에 초대받은 친구들 각자에게 흥미로운 주제가 있을 때만 파티가 흥미로울 것이라는 것을 확실히 알고 있습니다. 당신은 first과 second을 받게 될 것입니다. 화이트 씨의 i번째 친구는 first[i] 와 second[i]주제에 관심이 많다. 화이트 씨가..
2023.02.12