TOPCOD

포스트: 14|조회수: 0|ORGANIZATION
Items

Posts

14 posts
[TopCoder] 해밀턴 패스(Hamilton Path) 분석 및 풀이

[TopCoder] 해밀턴 패스(Hamilton Path) 분석 및 풀이

* 문제 번호 * SRM452 Div2 Lv3 * 문제 유형 * 수학 * 사용 언어 * C++ * 풀이 상태 * FAIL * 소요 시간 * 6시간 * 나의 전략 * 먼저 불가능한 경우는 총 두 가지가 존재한다. 1. Y가 3개 이상 붙은 도시. 2. 1 - 2 - 3 - 1 같이 순환하는 연결. 테스트 케이스에서 제공하기에 쉽게 판별할 수 있었다. 그리고 필수적으로 가야하는 경로로 묶인 그룹을 C, 모두 NNN...으로 고립된 도시를 I라고 할 때, 찾아야하는 경로의 수가 (C + I) * 2 * I 임은 쉽게 알 수 있었다. (뒤의 2 * I 는 각 그룹이 서로 끝점으로 연결될 수 있는 가지 수) 이 떄, Y가 하나

[TopCoder] 둥근 모양의 국가들(CirclesCountry) 분석 및 풀이

[TopCoder] 둥근 모양의 국가들(CirclesCountry) 분석 및 풀이

* 문제 번호 * SRM443 Div2 Lv2 * 문제 유형 * 수학 * 사용 언어 * C++ * 풀이 상태 * SUCCESS * 소요 시간 * 10분 * 나의 전략 * 레벨 2의 문제 치고 너무 쉽게 풀려서 당황했던 문제. 그 흔한 함정조차 없었다. 요점은 시작점과 도착점이 '반드시' 하나의 원형 경계를 넘는 경우를 캐치할 수 있냐는 것. 아주 당연하게도, 두 점 중 하나가 원 하나의 radius 내부에 존재하고, 하나가 바깥에 존재하는 경우만 해당된다. 즉, (x-x1)^2 + (y-y1)^2