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.|

DESVRUA - Desvio de rua

A prefeitura de uma grande cidade da Nlogônia iniciou um programa de recuperação do asfalto de suas ruas. Na Nlogônia, cada rua liga diretamente dois cruzamentos, e pode ter mão única ou mão dupla. Por determinação de um antigo decreto real, sempre existe ao menos um caminho entre dois pontos quaisquer da cidade.

No programa de recuperação, uma única rua será recuperada por vez, e para isso a rua será fechada para o tráfego. Esse fechamento pode causar caos no trânsito local ao violar o decreto real, impedindo vários cidadãos de voltarem para casa dos seus trabalhos e vice-versa. A prefeitura pode converter algumas das ruas de mão unica em mão dupla, mas prefere evitá-lo pois ruas de mão dupla tendem a causar acidentes mais graves; a prefeitura prefere criar desvios apenas invertendo as mãos das ruas de mão unica já existentes. O Rei da Nlogônia solicitou seus préstimos para escrever um programa que, dada a descrição das ruas de uma cidade, determine se, quando uma dada rua é interditada para recuperação, continua existindo um caminho entre entre quaisquer dois pontos da cidade, mesmo que seja necessário alterar as mãos de direção de outras ruas.

Entrada

A entrada é composta por diversos casos de teste. A primeira linha de um caso de teste contém dois inteiros N e M , representando respectivamente o número de cruzamentos e o número de ruas da cidade. Os cruzamentos são identificados por inteiros de 1 a N e as ruas são identificadas por números inteiros de 1 a M . Cada uma das M linhas seguintes descreve uma rua e contém três inteiros A, B e T , onde A e B são os cruzamentos que a rua liga diretamente, e T indica a mão de dirção da rua: se T = 1 a rua tem mão unica na direção de A para B; se T = 2, a rua tem mão dupla. A primeira rua descrita será interditada para recuperação.

Saída

Para cada caso de teste seu programa deve imprimir uma linha contendo um caractere que descreve o que a prefeitura deve fazer para respeitar o decreto real após o fechamento da rua para reformas:

  • ‘-’: não é necessário qualquer tipo de alteração nas outras ruas.
  • ‘*’: é impossível respeitar o decreto real, independente de quaisquer mudanças nas outras ruas.
  • ‘1’: é possível cumprir o decreto real apenas invertendo as mãos de algumas das ruas de mão única.
  • ‘2’: é possível cumprir o decreto real, mas é necessário converter algumas ruas de mão única para mão dupla.
  • Restrições

  • 1 ≤ N ≤ 10³
  • 1 ≤ M ≤ 10⁵
  • 1 ≤ A, B ≤ N
  • T ∈ {1, 2}
  • Exemplos

    Entrada
    
    3 3
    1 2 2
    2 3 2
    3 1 2
    3 3
    1 2 1
    2 3 1
    3 1 1
    2 1
    1 2 2
    5 6
    3 4 1
    1 3 2
    2 4 2
    3 5 2
    2 1 1
    4 1 1
    
    Saída
    
    -
    2
    *
    1
    
    

    Adicionado por:Wanderley Guimarăes
    Data:2012-05-26
    Tempo limite:2.142s
    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:Primeira fase da Maratona de Programação - 2011

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