
veaiatualizado
By: a guest on
Jul 11th, 2012 | syntax:
C++ | size: 0.82 KB | hits: 17 | expires: Never
#include <cstdio>
#include <iostream>
#include <cstring>
#include <vector>
#define MAX_NODES = 101
using namespace std;
struct Node
{
vector<int> adj;
};
Node G[MAX_NODES];
bool mark[MAX_NODES];
void dfs(int node)
{
if(!mark[node])
{
mark[node] = true;
for(int i = 0; i < G[node].adj.size(); i++)
{
dfs(G[node].adj[i]);
}
}
}
int main()
{
int e;
int l;
do{
memset(mark, false, sizeof(mark));
scanf("%d", &e);
scanf("%d", &l);
while(l > 0)
{
int x;
int y;
scanf("%d", &x);
scanf("%d", &y);
G[x].adj.push_back(y);
G[y].adj.push_back(x);
l--;
}
dfs(1);
bool valido = true;
for(int i = 1; i <= e; i++)
{
if(!mark[i])
{
valido = false;
}
}
if(valido) printf("normal\n");
else printf("falha\n");
}
}