146222025-01-21 00:03:2942Kaktuszgráfpython3Accepted 50/5018ms3672 KiB
import sys
input=sys.stdin.readline
sys.setrecursionlimit(10**6)

from math import gcd

def solv():
 N,M=map(int,input().split())
 graph=[[] for _ in range(N+1)]
 for i in range(M):
  A,B=map(int,input().split())
  graph[A].append(B)
  graph[B].append(A)

 res=0  
 level={1:0}

 def dfs(v,res):
  for w in graph[v]:
   if w not in level:
    level[w]=level[v]+1
    res=dfs(w,res)
   else:
    res=max(res,level[v]-level[w]+1)
  return res

 res=dfs(1,res)
 print(res)

solv()
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/016ms3140 KiB
2Accepted0/017ms3116 KiB
3Accepted2/217ms3312 KiB
4Accepted2/217ms3372 KiB
5Accepted2/218ms3392 KiB
6Accepted2/218ms3372 KiB
7Accepted2/218ms3380 KiB
8Accepted2/218ms3536 KiB
9Accepted2/217ms3388 KiB
10Accepted2/217ms3380 KiB
11Accepted2/218ms3380 KiB
12Accepted2/218ms3380 KiB
13Accepted2/217ms3424 KiB
14Accepted2/218ms3636 KiB
15Accepted2/217ms3212 KiB
16Accepted2/218ms3420 KiB
17Accepted2/218ms3244 KiB
18Accepted2/218ms3340 KiB
19Accepted3/317ms3336 KiB
20Accepted3/317ms3452 KiB
21Accepted3/318ms3460 KiB
22Accepted3/318ms3580 KiB
23Accepted3/318ms3672 KiB
24Accepted3/318ms3668 KiB