Java实现 蓝桥杯VIP 算法训练 无权最长链
试题 算法训练 无权最长链
问题描述
给定一个n节点m边的无圈且连通的图,求直径
输入格式
第一行两个数字n,m
接下来m行每行两个数字x,y,代表x,y之间有一条边
输出格式
要求用户的输出满足的格式。
例:输出1行,包含一个整数,表示矩阵中所有元素的和。
样例输入
一个满足题目要求的输入范例。
3 2
1 2
2 3
样例输出
与上面的样例输入对应的输出。
例:
2
数据规模和约定
数据不会很大
输入数据满足M=N-1
package 蓝桥杯官网;
import java.util.ArrayList;
import java.util.Scanner;
public class 无权最长链 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
ArrayList<ArrayList<Integer>> l=new ArrayList<ArrayList<Integer>>();
for (int i = 0; i <=n; i++) {
l.add(new ArrayList<Integer>());
}
for (int i = 0; i <m; i++) {
int x=sc.nextInt();
int y=sc.nextInt();
l.get(x).add(y);
}
sc.close();
int max=0;
for (int i = 1; i <=n; i++) {
if (l.get(i).size()!=0) {
max++;
}
}
System.out.println(max);
}
}