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.

POUPT07 - Completo?

Verifique se um dado grafo direcionado e valorado é completo ou não.

Utilize obrigatoriamente a estrutura dinâmica de grafo definida em sala.



Entrada 

a primeira linha contem o número de vértices N, seguida de N linhas com N valores que representam os pesos das arestas

sendo -1 a indicação de inexistencia da aresta

 

Saída

A saída é constituída por uma única linha contendo a palavra sim ou nao seguida do final de linha.


Exemplo de Entrada

5
2 3 0 5 -1
1 3 5 4 0
-1 0 8 2 2
4 1 0 -1 -1
1 -1 9 -1 2



6
2 0 1 2 3 4
1 3 0 1 1 1
1 2 4 0 1 2
1 2 3 5 0 4
1 2 3 4 0 2
1 3 4 0 9 3

 



 

3

-1 1 1

1 -1 1

1 1 -1 



 

Exemplo de Saída

nao



 

sim



 

sim

#include "lista_dupla.h"

#include <stdlib.h>

 

struct grafo

{

    int nro_vertices;

    Listad *vertices; 

};

typedef struct grafo Grafo;

 

struct vertice

{

    char nome[10];

    int nro_adjacentes;

    Listad *adjacencias;

};

typedef struct vertice Vertice;

 

struct aresta

{

    int peso;

    Vertice *destino;

};

typedef struct aresta Aresta;

 

Grafo* cria_grafo(int nro_vertices);

Grafo* cria_grafo(int nro_vertices)

{

    Grafo *g = malloc(sizeof(Grafo));

    g->nro_vertices = nro_vertices;

    g->vertices = cria_listad();

    return g;

}

Vertice* localiza_vertice(Grafo *g, char nome[30] )

{

 

}

void adiciona_vertice(Grafo *g, char nome[30])

{

 

}

 

void adiciona_aresta(Grafo *g,  char nome_origem[30], char nome_destino[30], int peso)

{

    Vertice *origem, *destino;

    origem = localiza_vertice(g, origem);

}

 



Added by:IFTM_Maratona
Date:2022-11-09
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:C

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