결론 : 92등으로 R3 진출 + 티셔츠. 뭐랄까.. 내가 이때 약간 졸린 상황이라서, 그냥 500등 안에 드는 걸 목표로 하고 대회를 봤다. A는.. 처음에 DP같은 걸로 접근하다가 뭔가 이상한거 같아서, 트리를 그려놓고 빅픽쳐 (?) 를 보니까 이해가 갔다. 아주 좋은 문제라고 생각한다. (19:37 Small, 20:00 Large) B는 이상하게 어려웠다. 처음에 내 실수로 머리보다 손이 앞서서 이상한 코드를 짰었는데, 예제 안나오는 걸 보고 이대로 하다가는 말리겠다 싶어서 밀고 딴 문제 생각하다 다시 왔다. 다시 와도 polynomial 풀이가 생각이 안 나서 그냥 brute force를 짰는데, 이상하게 brute force에서 규칙이 보였다 (..) 왜 되는지는 모르겠지만 아무튼 규칙대로 짜..
sort(a, a+n, [&](const pnt &a, const pnt &b){if((pi(a.x, a.y) > pi(0, 0)) ^ (pi(b.x, b.y) > pi(0, 0))) return pi(a.x, a.y) > pi(b.x, b.y);if(ccw(a, b) != 0) return ccw(a, b) > 0;return hypot(a) < hypot(b);});앞문제를 풀다가 발견한 코드. 1 2 3 4 사분면에 상관없이 각도정렬을 할 수 있다. + 5.21 업데이트. 각도가 같을 경우 거리순으로 정렬한다. (hypot(p) = p.x^2 + p.y^2, pi = make_pair) + 2017.8.14 업데이트. 코드 길이를 많이 줄였다.
- Total
- Today
- Yesterday