Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

VIAGEM07 - Viagem aérea

Roberto trabalha no setor de compras de um grande laboratório de pesquisa privado com diversas filiais pelo mundo. Entre suas tarefas, ele deve comprar passagens aéreas para os pesquisadores e executivos em suas viagens a outras filiais ou a congressos e feiras. Essas viagens são sempre feitas de avião.

Encontrar a melhor forma de chegar a um destino não é uma tarefa simples, pois deve-se levar em conta os requisitos de cada cargo, o tempo de vôo e o custo da passagem para decidir-se qual é a melhor. Roberto possui uma tabela com todos os vôos disponíveis nas companhias aéreas. Todo vôo inicia na cidade de origem O e termina na cidade destino D e possui um custo C e um tempo de vôo T. Pode existir mais de um vôo entre um dado par de cidades, com preços e tempos distintos. O fato de existir um vôo da cidade O à cidade D não significa que existe um vôo da cidade D à cidade O.

Sempre que um funcionário de um dos laboratórios necessita viajar da cidade U à cidade V , Roberto deve comprar as passagens necessárias para que ele chegue em seu destino ou informar ao funcionário que não é possível realizar tal viagem utilizando somente o transporte aéreo. Além disso, Roberto deve seguir a seguinte política de aquisição de passagens:

  • Se for um pesquisador, o custo da viagem deve ser o menor possível. Caso existam duas ou mais viagens com o mesmo custo, o tempo de viagem deve ser o menor possível. Em caso de novo empate, a quantidade de escalas (ou seja, a quantidade de cidades entre a origem e o destino) deve ser a menor possível.
  • Se for um executivo, o tempo de viagem deve ser o menor possível. Caso existam duas ou mais viagens com o mesmo tempo, o custo deve ser o menor possível. Em caso de novo empate, a quantidade de escalas (ou seja, a quantidade de cidades entre a origem e o destino) deve ser a menor possível.

Você trabalha no departamento de informática desse mesmo laboratório e deve implementar um programa para auxiliar Roberto.

Tarefa

Escreva um programa que determine os valores de custo, tempo e escalas para realizar a viagem entre as duas cidades especificadas para um determinado funcionário respeitando as restrições descritas. Note que a origem e o destino não contam no cálculo de escalas.

Entrada

A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado). A primeira linha da entrada contém dois inteiros N e F (1 ≤ N ≤ 1.000, 1 ≤ F ≤ 1.000.000) indicando o número de cidades e o número de vôos e uma letra indicando o cargo do funcionário no laboratório (P para pesquisador e E para executivo). As cidades são numerada de 1 a N. A linha seguinte contém dois inteiros U e V indicando a cidade inicial e a cidade final da viagem (1 ≤ U ≤ N, 1 ≤ V ≤ N). As N linhas seguintes contêm 4 inteiros O, D, C e T representando as informações de cada trecho: cidade de origem, cidade destino, custo e tempo (1 ≤ O ≤ N, 1 ≤ D ≤ N, 1 ≤ C ≤ 10.000, 1 ≤ T ≤ 10.000).

Saída

Seu programa deve imprimir, na saída padrão, uma única linha, contendo três inteiros separados por espaço representando o custo, o tempo e o total de escalas para o funcionário realizar a viagem respeitando a política da empresa de aquisição de passagens, ou -1 caso não seja possível realizar a viagem.

Exemplo

Entrada:
5 6 P
1 3
1 2 10 7
2 3 5 8
1 4 4 5
4 5 4 5
5 3 7 5
1 2 15 12

Saída:
15 15 1

Entrada:
3 2 E
1 3
1 2 1 2
1 2 1 2

Saída:
-1

Entrada:
3 4 P
1 2
1 2 17 3
1 2 10 5
1 3 1 1
3 2 8 5

Saída:
9 6 1


Adicionado por:Wanderley Guimarăes
Data:2012-07-21
Tempo limite:1s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP PERL6 PY_NBC SCALA TCL
Origem:Seletiva IOI 2007

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.