Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Sort 9 [smplsrt4]

Ostatnio zmodyfikowano 2012-12-04 20:09
Autor Wiadomość
wisien92
Temat założony przez niniejszego użytkownika
[C++] Sort 9 [smplsrt4]
» 2012-12-04 20:01:18
Witam mam problem z pewnym zadaniem na spoj'u i nie jestem w stanie powiedzieć dlaczego odpowiedź jest nieprawidłowa

http://pl.spoj.pl/PDSTPROG/problems/SMPLSRT4/    - problem

C/C++
//Autor Jakub Wisniewski    Sort9
#include <cstdlib>
#include <iostream>
#include<math.h>
#include <iomanip>


using namespace std;

int n, i, j, k, t;
int moz;

int main( int argc, char * argv[] )
{
   
    cin >> n;
   
    //ilosc permutacji n
    moz = n *( n - 1 ) / 2;
   
    //tworzymy tablice o wielkosci n
    double * tabx =( double * ) malloc( n * sizeof( double ) );
    double * taby =( double * ) malloc( n * sizeof( double ) );
    double * tabz =( double * ) malloc( n * sizeof( double ) );
   
    for( i = 0; i <= n - 1; i++ )
    {
        cin >> tabx[ i ];
        cin >> taby[ i ];
        cin >> tabz[ i ];
    }
   
    //tworzymy tablice wynikow o wielkosci mozliwosci wynikow- ilosci permutacji
    double * wyniki =( double * ) malloc( moz * sizeof( double ) );
   
    t = 0;
    //algorytm liczenia odleglosci miedzy punktami
    for( i = 0; i <= n - 1; i++ )
    {
        for( j = i + 1; j <= n - 1; j++ )
        {
           
            wyniki[ t ] = sqrt((( tabx[ i ] - tabx[ j ] ) *( tabx[ i ] - tabx[ j ] ) ) +(( taby[ i ] - taby[ j ] ) *( taby[ i ] - taby[ j ] ) ) +(( tabz[ i ] - tabz[ j ] ) *( tabz[ i ] - tabz[ j ] ) ) );
            t++;
        }
    }
   
    //sortowanie wynikow
    for( i = 0; i <= moz; i++ )
    {
        for( j = 0; j <= moz; j++ )
        {
            if( wyniki[ i ] > wyniki[ j ] )
                 swap( wyniki[ i ], wyniki[ j ] );
           
        }
    }
   
   
   
   
    while( t-- )
         cout << setiosflags( ios::fixed ) << setprecision( 2 ) << wyniki[ t ] << endl;
   
    //system("PAUSE");
    return 0;
}

Teraz z tym kodem pokazało mi przekroczenie czasu ... jak ograniczyc pojemność czasową?



do zamknięcia .... sortowanie zmieniłem z bąbelkowego na przez wstawienie i przyjęło :)
P-70348
ison
» 2012-12-04 20:09:00
P-70350
« 1 »
  Strona 1 z 1