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);
    }
}

posted @ 2020-04-23 22:52  南墙1  阅读(152)  评论(0编辑  收藏  举报