在第一个样例中,有以下 8 种不同的选择 (s, c, f) 的方案:(1, 2, 3),(1, 2, 4),(1, 3, 4),(2, 3, 4),(3, 2, 1),(4, 2, 1),(4, 3, 1),(4, 3, 2)。
在第二个样例中,有以下 14 种不同的选择 (s, c, f) 的方案:(1, 2, 3),(1, 2, 4),(1, 3, 4),(1, 4, 3),(2, 3, 4),(2, 4, 3),(3, 2, 1),(3, 2, 4),(3, 4, 1),(3, 4, 2),(4, 2, 1),(4, 2, 3),(4, 3, 1),(4, 3, 2)。
数据范围与提示
子任务 1(5 分):n \le 10, m \le 100
子任务 2(11 分):n \le 50, m \le 100
子任务 3(8 分):n \le 100\,000, 每个交叉路口至多作为两条双向道路的端点。
子任务 4(10 分):n \le 1\,000, 在路网中不存在环。
存在环是指存在一个长度为 k (k\ge 3) 的交叉路口序列 v_1, v_2, \ldots v_k ,序列中的路口编号两两不同,且对于 i 从 1 到 k-1 ,有一条双向道路直接连接路口 v_i 和 v_i+1 ,且有一条双向道路直接连接路口 v_k 和 v_1 。
子任务 5(13 分):n \le 100\,000, 在路网中不存在环。
子任务 6(15 分):n \le 1\,000, 对于每个交叉路口,至多被一个环包含。
子任务 7(20 分):n \le 100\,000, 对于每个交叉路口,至多被一个环包含。
子任务 8(8 分):n \le 1\,000, m \le 2\,000
子任务 9(10 分):n \le 100\,000, m \le 200\,000