2017.07.20 P3 数字树
题目描述
给一棵树 n 个顶点,顶点编号为 0 - ,以及一个数 m,树上的每条边都有一个权值(0 到 9 之间的整数),问有多少点对 (u, v) 使得 u 到 v 路径上的权值组成的数可被 m 整除(像字符串一样组成)。
例如:1 -> 2 : , 2 -> 3 : , …, i-1 -> i : ;
1 -> i : … ()
输入格式
第一行两个整数 n, m。
接下来 n - 1 行,每行三个整数 , , ,表示 到 有边权值 (0 , < n)。
输出格式
输出满足条件的点对数。
样例1
输入
输出
样例2
输入
输出
数据范围
对于 30%的数据,2 n 50, 1 m 100, gcd(m, 10) = 1, 0 , < n, 1 9;
对于 100%的数据,2 n 100,000, 1 m , gcd(m, 10) = 1, 0 , < n, 1 9。
限制
3s, 256M
样例解释
样例 1:点对:(0, 4), (1, 2), (1, 5), (3, 2), (2, 5), (5, 2), (3, 5),组成的值:
14, 21, 217, 91, 7, 7, 917 ,共 7 对都整除 7。点对(2, 5) 和 (5, 2)是不同
的。
样例 2:点对:(4, 0), (0, 4), (3, 2), (2, 3), (0, 1), (1, 0), (4, 1), (1, 4),组成
33 和 3333,共8 对都整除11.
来源
Codeforces716E
CWOI新高二专题测试十七