A8197 | Lucky Tree
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.
One day Petya encountered a tree with $n$ vertexes. Besides, the tree was weighted, i. e. each edge of the tree has weight (a positive integer). An edge is lucky if its weight is a lucky number. Note that a tree with $n$ vertexes is an undirected connected graph that has exactly $n-1$ edges.
Petya wondered how many vertex triples $(i,j,k)$ exists that on the way from $i$ to $j$ , as well as on the way from $i$ to $k$ there must be at least one lucky edge (all three vertexes are pairwise distinct). The order of numbers in the triple matters, that is, the triple $(1,2,3)$ is not equal to the triple $(2,1,3)$ and is not equal to the triple $(1,3,2)$ .
Find how many such triples of vertexes exist.
One day Petya encountered a tree with $n$ vertexes. Besides, the tree was weighted, i. e. each edge of the tree has weight (a positive integer). An edge is lucky if its weight is a lucky number. Note that a tree with $n$ vertexes is an undirected connected graph that has exactly $n-1$ edges.
Petya wondered how many vertex triples $(i,j,k)$ exists that on the way from $i$ to $j$ , as well as on the way from $i$ to $k$ there must be at least one lucky edge (all three vertexes are pairwise distinct). The order of numbers in the triple matters, that is, the triple $(1,2,3)$ is not equal to the triple $(2,1,3)$ and is not equal to the triple $(1,3,2)$ .
Find how many such triples of vertexes exist.
输入格式
The first line contains the single integer $n$ ( $1<=n<=10^{5}$ ) — the number of tree vertexes. Next $n-1$ lines contain three integers each: $u_{i}$ $v_{i}$ $w_{i}$ ( $1<=u_{i},v_{i}<=n,1<=w_{i}<=10^{9}$ ) — the pair of vertexes connected by the edge and the edge's weight.
输出格式
On the single line print the single number — the answer.
Please do not use the %lld specificator to read or write 64-bit numbers in С++. It is recommended to use the cin, cout streams or the %I64d specificator.
Please do not use the %lld specificator to read or write 64-bit numbers in С++. It is recommended to use the cin, cout streams or the %I64d specificator.
输入输出样例
输入 #1
4 1 2 4 3 1 2 1 4 7
输出 #1
16
输入 #2
4 1 2 4 1 3 47 1 4 7447
输出 #2
24
The $16$ triples of vertexes from the first sample are: $(1,2,4),(1,4,2),(2,1,3),(2,1,4),(2,3,1),(2,3,4),(2,4,1),(2,4,3),(3,2,4),(3,4,2),(4,1,2),(4,1,3),(4,2,1),(4,2,3),(4,3,1),(4,3,2)$ .
In the second sample all the triples should be counted: $4·3·2=24$ .
In the second sample all the triples should be counted: $4·3·2=24$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted