TOPIC

PROBLEM 1162 - URI Fórum 1.0

URI Online Judge asked 8 years ago

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • Paulo Henrique Tenório replied 5 years ago

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

  • Vélmer Oliveira replied 6 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á.

  • Miguel Araújo replied 6 years ago

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

  • Vincent replied 6 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;
    }