#include <iostream> #include <algorithm> #include <cmath> using namespace std; void main () { // data declaration // input data int num; int x[10001], y[10001]; // for statement var int i, k; // axis boundary int minX, minY, maxX, maxY; // answer int sumXmove, sumYmove; int minMoveX = INT_MAX; int minMoveY = INT_MAX; int resx, resy; // data input scanf("%d", &num); for(i=1; i<=num; i++) scanf("%d %d", &x[i], &y[i]); // sort each of x, y array sort(x+1, x+num+1); sort(y+1, y+num+1); // set boundary minX = x[1]; minY = y[1]; maxX = x[10000]; maxY = y[10000]; // x Axis scan for(i=minX; i<=maxX; i++){ // x = i 축을 기준으로 x좌표 이동 수 구하기 sumXmove = 0; for(j = 1; j <= num; j++){ sumXmove += abs(x[j] - i); } sumYmove = 0; // 이 부분이 어려운데, 중복 좌표 이동 수의 최소값을 구해야 함. } // y Axis scan printf("%d", minMoveX + minMoveY); }