Coder Social home page Coder Social logo

dijkstra-floyd-warshall-shortest-path's Introduction

Airport Express Problem using Dijsktra and Floyd Warshall Algorithms

Em uma pequena cidade, um serviço de comboios, Airport-Express, leva os residentes ao aeroporto mais rapidamente do que outros transportes.

Existem dois tipos de comboios no Airport-Express, o EconomyXpress e o Commercial Xpress. Eles viajam em diferentes velocidades, percorrem rotas diferentes e têm custos diferentes. João está indo ao aeroporto para encontrar seu amigo. Ele quer pegue o Commercial-Xpress, que deveria ser mais rápido, mas ele não tem dinheiro suficiente. Felizmente, ele tem um bilhete para o Commercial-Xpress, que pode levar uma estação para a frente. E se ele usar o bilhete com sabedoria, ele pode acabar economizando muito tempo.

No entanto, escolher a melhor hora para usar o ticket não é fácil para ele. João agora procura sua ajuda. As rotas dos dois tipos de comboio são dados. Escreva um programa para encontrar a melhor rota para o destino. O programa também deve informar quando o ticket deve ser usado.

Entrada

A entrada consiste em vários casos de teste. Casos consecutivos são separados por uma linha em branco. A primeira linha de cada caso contém 3 números inteiros, N, S e E (2 ≤ N ≤ 500, 1 ≤ S, E ≤ N), que representam o número de estações, o ponto de partida e a localização do aeroporto, respectivamente.

Existe um número inteiro M (1 ≤ M ≤ 1000) representando o número de conexões entre as estações da Economy-Xpress. As próximas linhas M fornecem as informações das rotas do Economy-Xpress.

Cada um consiste em três números inteiros X, Y e Z (X, Y ≤ N, 1 ≤ Z ≤ 100). Isso significa que X e Y são conectado e leva Z minutos para viajar entre essas duas estações.

A próxima linha é outro número inteiro K (1 ≤ K ≤ 1000) representando o número de conexões entre as estações do Commercial-Xpress. As próximas linhas K contêm as informações do CommercialXpress no mesmo formato que o do Economy-Xpress.

Todas as conexões são bidirecionais. Pode-se assumir que existe exatamente uma rota ideal para o aeroporto. Pode haver casos em que deves usar o seu ticket para chegar ao aeroporto.

Saída

Para cada caso de teste, você deve primeiro listar o número de estações que João visitaria por ordem. Na próxima linha, digite 'Ticket Not Used' se você decidir NÃO usar o ticket; caso contrário, indique a estação onde João deve pegar o comboio do Commercial-Xpress. Por fim, imprima o tempo total da viagem na última linha. Conjuntos consecutivos de saída devem ser separados por uma linha em branco.

Exemplo

Entrada

Número de estações, ponto de partida e localização do aeroporto:
4 1 4
Número de conexões entre as estações da Economy-Xpress:
4
Informações das rotas do Economy-Xpress:
1 2 2
1 3 3
2 4 4
3 4 5
Número de conexões entre as estações da CommercialXpress:
1
Informações das rotas do CommercialXpress:
2 4 3

Saída

1 2 4
2
5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.