#P5603. 小 C 与桌游

    ID: 4586 Type: RemoteJudge 1500ms 500MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>动态规划,dp贪心Special Judge拓扑排序洛谷月赛

小 C 与桌游

题目背景

小 C 是一个热爱桌游的高中生,现在他被一个桌游难住了,快来帮帮他!

题目描述

这个桌游的地图可以被抽象成一个 nn 个点,mm 条边的有向无环图不保证连通),小 C 在这个地图上行走,小 C 能走到某个点当且仅当能够到达这个点的所有点都已经被小 C 走到。小 C 会走到每个点恰好 11 次,并且他能走到哪些点与他当前所在的点没有关系(即可以走到与当前所在的点没有连边的点,只要满足之前的条件)。

小 C 每走到一个标号比之前走到的点都大的点,他就会有 12\frac{1}{2} 的概率从对手那里拿到 11 块筹码,有 12\frac{1}{2} 的概率给对手 11 块筹码,双方初始各有 19198101919810 个筹码。

小 C 的运气时好时坏,所以他希望你帮他计算出:

  • 在最优情况下,即他每次都能从对手那里拿到筹码时,他采取最优的行走方式能得到的筹码数。
  • 在最劣情况下,即对手每次都能从他那里拿到筹码时,他采取最优的行走方式会失去的筹码数。

输入格式

第一行两个正整数 n,mn, m

接下来 mm 行,每行两个正整数 u,vu, v,表示地图上有一条有向边 (u,v)(u, v),不保证无重边。

输出格式

输出两行,每行一个正整数,第一行表示最优情况下小 C 能拿到的筹码数,第二行表示最劣情况下小 C 会失去的筹码数。

3 2
1 2
1 3
3
2

提示

样例解释

最优情况下的行走方式是 1231-2-3,最劣情况下的行走方式是 1321-3-2

计分方式

对于每一个测试点:

  • 如果你输出格式错误或者两行都不正确,将会得到 00 分。
  • 如果你的输出第一行正确,第二行错误或第二行正确,第一行错误,将会得到这个测试点 40%40 \% 的分数。
  • 否则,你将会得到这个测试点 100%100 \% 的分数。

数据范围

对于 20%20\% 的数据,1n,m101 \le n, m \le 10

对于 40%40\% 的数据,1n,m20001 \le n, m \le 2000

对于 100%100\% 的数据,1n,m5×1051 \le n, m \le 5 \times 10^51u,vn1 \le u, v \le n