File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ dp = [- 1 ] * 11
2+
3+ def main ():
4+ T = int (input ())
5+
6+ for i in range (T ):
7+ n = int (input ())
8+
9+ print (recursion (n ))
10+
11+
12+ def recursion (n ):
13+ if n == 0 :
14+ return 1
15+ if n < 0 :
16+ return 0
17+
18+ if dp [n ] != - 1 :
19+ return dp [n ]
20+
21+ dp [n ] = recursion (n - 1 ) + recursion (n - 2 ) + recursion (n - 3 )
22+
23+ return dp [n ]
24+
25+ if __name__ == "__main__" :
26+ main ()
Original file line number Diff line number Diff line change 1+ def main ():
2+ N = int (input ())
3+ cost = [list (map (int , input ().split ())) for _ in range (N )]
4+
5+ dp = [[0 ] * 3 for _ in range (N )]
6+
7+ dp [0 ][0 ] = cost [0 ][0 ]
8+ dp [0 ][1 ] = cost [0 ][1 ]
9+ dp [0 ][2 ] = cost [0 ][2 ]
10+
11+ for i in range (1 , N ):
12+ dp [i ][0 ] = min (dp [i - 1 ][1 ], dp [i - 1 ][2 ]) + cost [i ][0 ]
13+ dp [i ][1 ] = min (dp [i - 1 ][0 ], dp [i - 1 ][2 ]) + cost [i ][1 ]
14+ dp [i ][2 ] = min (dp [i - 1 ][0 ], dp [i - 1 ][1 ]) + cost [i ][2 ]
15+
16+ print (min (dp [N - 1 ]))
17+
18+
19+ if __name__ == "__main__" :
20+ main ()
Original file line number Diff line number Diff line change 1+ from collections import deque
2+
3+ def solution (n , edge ):
4+ graph = [[] for _ in range (n + 1 )]
5+
6+ for a , b in edge :
7+ graph [a ].append (b )
8+ graph [b ].append (a )
9+
10+ distance = [- 1 ] * (n + 1 )
11+ distance [1 ] = 0
12+
13+ queue = deque ([1 ])
14+
15+ while queue :
16+ now = queue .popleft ()
17+ for neighbor in graph [now ]:
18+ if distance [neighbor ] == - 1 :
19+ distance [neighbor ] = distance [now ] + 1
20+ queue .append (neighbor )
21+
22+ max_distance = max (distance )
23+
24+ return distance .count (max_distance )
You can’t perform that action at this time.
0 commit comments