Pagini recente » Cod sursa (job #2742021) | Cod sursa (job #184072) | Cod sursa (job #1653718) | Cod sursa (job #1940324) | Cod sursa (job #1711236)
#include <fstream>
#include <vector>
using namespace std;
ifstream f{ "darb.in" };
ofstream q{ "darb.out" };
vector<int> arb[100001];
int visited[100001];
int maxs = 0, nod;
void DFS(int node, int adancime) {
if (adancime > maxs) {
maxs = adancime;
nod = node;
}
visited[node] = 1;
for (int i = 0; i < (int)arb[node].size(); i++) {
if (visited[arb[node][i]] == 0) {
DFS(arb[node][i], adancime + 1);
}
}
visited[node] = 0;
}
int main() {
int n, x, y;
memset(visited, 0, 100001 * sizeof(int));
f >> n;
for (int i = 1; i <= n; i++) {
f >> x >> y;
arb[y].push_back(x);
arb[x].push_back(y);
}
DFS(1, 1);
DFS(nod, 1);
q << maxs;
f.close();
q.close();
return 0;
}