TOPIC
PROBLEM 1162 - URI Fórum 1.0
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; }