Try this input:
Code: Select all
3 2
0 1
0 2
0 0
Moderator: Board moderators
Code: Select all
3 2
0 1
0 2
0 0
Code: Select all
#include <stdio.h>
#include <iostream>
#include <queue>
#include <map>
#include <string>
#include <list>
#include <vector>
#include <math.h>
using namespace std;
int nodes;
int edges;
int** matrix;
int vmax = 0;
void traverse(int a,int depth)
{
if(depth > vmax)
vmax = depth;
for(int i=0 ; i<nodes ; i++)
{
if(matrix[a][i]>0)
{
matrix[a][i]--;
matrix[i][a]--;
traverse(i,depth+1);
matrix[a][i]++;
matrix[i][a]++;
}
}
}
int main()
{
//freopen("input.txt","r",stdin);
int a,b;
for(cin >> nodes >> edges; nodes != 0 ; cin >> nodes >> edges)
{
vmax = 0;
matrix = new int*[nodes];
for(int i=0 ; i<nodes ; i++)
{
matrix[i] = new int[nodes];
for(int j=0 ; j<nodes ; j++)
matrix[i][j] = 0;
}
for(int i=0 ; i<edges ; i++)
{
cin >> a >> b;
matrix[a][b]++;
matrix[b][a]++;
}
for(int i=0 ; i<nodes ; i++)
{
traverse(i,0);
}
for(int i=0 ; i<nodes ; i++)
delete[] matrix[i];
delete[] matrix;
cout << vmax << endl;
}
return 0;
}