给定一个有向图,图中可能包含有环,有向边用两个节点表示。第一个整数表示起始节点,第二个整数表示终止节点,如0 1表示存在从0到1的路径。每个节点用正整数表示,求这个数据的头节点与尾节点,题目给的用例会是一个头节点,但可能存在多个尾节点。同时,图中可能含有环,如果图中含有环,返回-1
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
说明:入度为0是头节点,出度为0是尾节点
输入描述
第一行为后续输入的键值对数量N >= 0,第二行为2N个数字。每两个为一个起点,一个终点。
输出描述
输出一行头节点和尾节点。如果有多个尾节点,按从大到小的顺序输出。
备注
如果图有环,输出为-1
所有输入均合法,不会出现不配对的数据
示例1
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
4
1 2 1 3 2 4 3 4
输出
1 4
备注
该例子表示以下有向图。头节点为1,尾节点为4
Java版本
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();int[] arr = new int[2 * num];for (int i = 0; i &l