Ir ao conteúdo
  • Cadastre-se

Programa muito lento (envolvendo matriz)


Posts recomendados

O problema é o seguinte:

Eu tenho que saber todas as cidades estão ligadas entre si por meio de uma rua, ou algo do tipo.

A entrada é composta por um número N que informa a quantidade de cidades e depois teremos N linhas( N = número de cidades ) onde cada linha possui dois valores por exemplo ( 1  2 ), isso quer dizer que existe uma rua que liga a cidade 1 até a cidade 2.

A saída é composta por duas possibilidades. "S" se todas as cidades tiverem ligadas entre si e "N" caso contrário.

 

Exemplo:

 

ENTRADA:                      SAÍDA:

3                                       S

1  2

2  3

3  1

 

ENTRADA:                      SAÍDA:

3                                       N

1  2

2  3

1  3

 

 

Eu fiz da seguinte forma, mas quando fui "submeter" a solução recebi a informação que estava muito lento.

	public static void main (String[] args){	Scanner input = new Scanner(System.in);	int qtde = s.nextInt();	int cidadeA, cidadeB;	boolean saida = true;	int [][] rua = new int[qtde][qtde];		for(int i =0; i< qtde; i++){	cidadeA = input.nextInt()-1;	cidadeB = input.nextInt()-1;	rua[cidadeA][cidadeB] = 1;	}	for(int i =0; i<qtde;i++){ // i = linhas	for(int j =0; j<qtde; j++){ // j = colunas	if(rua[i][j] == 1 && rua[j][i] == 0){		saida = false;		break;		}		}	}	if(saida == true){	System.out.println("S"); }	if(saida == false){	System.out.println("N"); }}}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...