[Easy] PatrolRoute
Topcoder SRM 542 Div1
격자 위에 아무렇게나 점 A, B, C 를 잡자.
중복을 고려하면 route는 A->B->C->A , A->C->B->A 두가지가 나오는데,
계산해보면 이 두 경우 모두 route 의 길이는 같고
구체적으로 점 A, B, C 를 포함하는 가장 작은 직사각형의 둘레의 길이와
같다는 사실을 알 수 있다.
따라서, 나올 수 있는 모든 직사각형을 다 살펴보면서
그 직사각형의 테두리에 점 3개를 배치하는 경우의 수를 구하고 그것들을 모두 더하면 된다.
점 3개를 배치했을 때,
이 직사각형이 그 점 3개를 포함하는 가장 작은 직사각형이 되어야 한다는 것을
주의해야 한다.
가로길이 n, 세로길이 m 인 직사각형에
점 A, B, C 를 꽉 차게 배치하는 경우의 수는 6 * (n-1) * (m-1) 이다.
이 크기의 직사각형이 나오는 경우의 수는 (Y-n) * (X-m) 이다.
직사각형이 minT, maxT 조건을 만족하는지 확인하는 것을 잊지 말자.