Mafa Dev

[UVA] 10041번 문제 본문

algorithm/문제

[UVA] 10041번 문제

마파_ 2013. 2. 26. 23:11

UVA 10041번 문제 입니다.

 

가장 이동 거리를 최소화 할 수 있는 집 하나를 정하고 그 집과 다른 집들의 거리를 구하는 문제였습니다.

이동 거리를 최소화 할 수 있는 집 하나를 찾기가 가장 어려웠는데요

문제를 계속해서 풀다보니 배열들을 각각 빼 보니 최소화 할 수 있는 집을 찾는 것과 동일한 값이 나와

코팅을 해보니 Accepted가 떳네요

 

 

 

소스 입니다.

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
 int n=0;
 int input=0;
 int nod[10000]={0,};
 int i=0;
 int j=0;
 int sum=0;
 int average=0;
 int i1=0;
 int j1=0;
 int temp=0;
 int left=0;
 int right=0;

 while(scanf("%d",&n)!=EOF)
 {
  for(i=0; i<n; i++)
  {
   scanf("%d",&input);
   for(j=0; j<input; j++)
   {
    scanf("%d",&nod[j]); 
   }

         
   for(i1=0; i1<input-1; i1++)
   {
    for(j1=i1+1; j1<input; j1++)
    {
     if(nod[i1]>nod[j1])
     {
      temp = nod[i1];
      nod[i1] = nod[j1];
      nod[j1] = temp;
     }
    }
   }

   if(input%2==0)
   {
       left= (input/2)-1;
    right= (input/2);
    while(left!=-1 && right!=input+1)
    {
     sum = sum + nod[right] - nod[left];
     right++,left--;
    }
    printf("%d\n",sum);
       sum=0;
   }
   else if(input%2==1)
   {
    left = (input/2)-1;
    right = (input/2)+1;
    while(left!=-1 && right!=input+1)
    {
     sum = sum + nod[right] - nod[left];
     right++,left--;
    }
    printf("%d\n",sum);
    sum=0;
   }

  }
 }
 return 0;
}

'algorithm > 문제' 카테고리의 다른 글

[dovelet] rlpn  (0) 2013.03.10
[dovelet] complete_graph  (0) 2013.03.06
[dovelet] fuse  (0) 2013.03.06
[dovelet] coci_spa  (0) 2013.03.05
[UVA] 11462  (0) 2013.02.20