题意 n个节点n-1条边的无向连通图,两个点a,b,a位于1,b位于x,两点移动速度相同,求a和b移动到同一节点所需的最多节点数。 输入 第一个参数为 , 第二个参数为 , 第三个参数为大小为 的点对 的集合,其中 表示结点 与结点 之间有一条边, 返回 最多需要经过的节点数(包括 1 号节点在内)
示例1
输入
5,2,[(1,2),(2,3),(3,4),(2,5)]
输出
4
加载中...
import java.util.*; /* * public class Point { * int x; * int y; * public Point(int x, int y) { * this.x = x; * this.y = y; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Point一维数组 * @return int */ public int solve (int n, int x, Point[] Edge) { // write code here } }
/** * struct Point { * int x; * int y; * Point(int xx, int yy) : x(xx), y(yy) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Pointvector * @return int */ int solve(int n, int x, vector
& Edge) { // write code here } };
# class Point: # def __init__(self, a=0, b=0): # self.x = a # self.y = b # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 最多需要经过的节点数 # @param n int # @param x int # @param Edge Point一维数组 # @return int # class Solution: def solve(self , n , x , Edge ): # write code here
using System; using System.Collections.Generic; /* public class Point { public int x; public int y; public Point () { x = 0; y = 0; } public Point (int a, int b) { x = a; y = b; } } */ class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Point一维数组 * @return int */ public int solve (int n, int x, List
Edge) { // write code here } }
/* * function Point(a, b){ * this.x = a || 0; * this.y = b || 0; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Point一维数组 * @return int */ function solve( n , x , Edge ) { // write code here } module.exports = { solve : solve };
x = $a; $this->y = $b; } }*/ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Point一维数组 * @return int */ function solve( $n , $x , $Edge ) { // write code here }
# class Point: # def __init__(self, a=0, b=0): # self.x = a # self.y = b # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 最多需要经过的节点数 # @param n int # @param x int # @param Edge Point一维数组 # @return int # class Solution: def solve(self , n , x , Edge ): # write code here
package main import . "nc_tools" /* * type Point struct { * X int * Y int * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Point一维数组 * @return int */ func solve( n int , x int , Edge []*Point ) int { // write code here }
/** * struct Point { * int x; * int y; * }; */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最多需要经过的节点数 * @param n int * @param x int * @param Edge Point一维数组 * @param EdgeLen int Edge数组长度 * @return int */ int solve(int n, int x, struct Point* Edge, int EdgeLen ) { // write code here }
# class Point # attr_accessor :x, :y # # def initialize(x = 0, y = 0) # @x, @y = x, y # end # end # # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 最多需要经过的节点数 # @param n int # @param x int # @param Edge Point一维数组 # @return int # class Solution def solve(n, x, Edge) # write code here end end
5,2,[(1,2),(2,3),(3,4),(2,5)]
4