TOPIC

PROBLEM 1162 - URI Fórum 1.0

beecrowd asked on Feb 8 2013

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • phtenorio replied 8 years ago

    Eu peguei o bubble da wikipedia soh modifiquei pra retornar a quantia de troca e passou em java.

  • voliveira4 replied 8 years ago

    [size=150:1r0huows]Código Em Python[/size:1r0huows]

    Meu código funciona, mas tive que implementar um ordenador (Bubble Sort) "na mão" deixando meu código muito pesado, ou seja, recebi TLE. Alguém pode me dar alguma dica de como otimizar o programa ou outra maneira mais rápida de resolver?

    casos = int(raw_input())
    
    a = 0
    
    while a < casos:
    
        qtd_vagoes = int(raw_input())
        vagao_num = map(int, raw_input().split())
    
        troca = 0
    
        for j in vagao_num:
            for i in range(len(vagao_num)-1):
                if vagao_num[i] > vagao_num[i+1]:
                    vagao_num[i], vagao_num[i+1] = vagao_num[i+1], vagao_num[i]
                    troca += 1
    
        print "Optimal train swapping takes %d swaps." % troca
    
        a += 1

    Grato desde já.

  • MiguelAraujo replied 9 years ago

    Vincent, seu programa não está resolvendo nem os casos dados como exemplo. Teste o primeiro caso.

  • Vincent replied 9 years ago

    Retorna W.A.... alguma dica?

    #include <iostream>
    #include <algorithm>
    #include <array>
    
    using namespace std;
    
    int main() {
        int N, X, Z, train[50], count=0, aux;
        cin >> N;
        for (int i=1; i<=N; i++) {
            count=0;
            cin >> X;
            for (int j=0; j<X; j++) {
                cin >> Z;
                train[j]=Z;
                for (int k=0; k<X-1; k++) {
                    if (train[k]>train[k+1]) {
                        aux=train[k+1];
                        train[k+1]=train[k];
                        train[k]=aux;
                        count++;
                    }
                }
            }
            cout << "Optimal train swapping takes " << count << " swaps." << endl;
        }
        return 0;
    }