Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

mula_russa

[Ajuda] Problema C Selection Sort

Mensagens Recomendadas

mula_russa

Boas, estou a tentar resolver este problema http://acm.timus.ru/problem.aspx?space=1&num=1178 , no entanto não estou a conseguir e não consigo perceber como o resolver. Será que alguem me pode ajudar?

Este é o codigo que tenho:

#include <stdio.h>

void SelSort(int a[],int b[],int c[], int n);

int main()
{
  int n, x[10000],y[10000],c[10000],i,dum;
  scanf("%d",&n);
  
  for(i=0;i<n;i++)
     scanf("%d %d",&x[i],&y[i]);
  for(i=0;i<n;i++)
     c[i]=i;
  
  SelSort(x,y,c,n);


  for(i=0;i<(n/2);i++)
     printf("%d %d\n",c[(2*(i+1)-1)-1]+1,c[(2*(i+1))-1]+1);
  return 0;
}


void SelSort(int a[], int b[], int c[], int n)
{
   unsigned int indi,indj,indmin,q;
   
   for(indi=0;indi <n-1; indi++)
   {
      indmin=indi;
      for(indj =indi+1;indj <n; indj++)
         if((a[indmin]<a[indj] && b[indmin]<b[indj]))
           indmin=indj;
      if(indmin!=indi)
      {
         q=a[indi];

 a[indi]=a[indmin];

 a[indmin]=q;

         q=b[indi];

 b[indi]=b[indmin];

 b[indmin]=q;

         q=c[indi];

 c[indi]=c[indmin];

 c[indmin]=q;
      }
   }
}

Obrigado!

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.