Wannafly挑战赛1 A Treepath
来源:互联网 发布:网络策划是做什么的 编辑:程序博客网 时间:2024/05/17 05:19
题目链接:https://www.nowcoder.com/acm/contest/15/A
时间限制:1秒 空间限制:32768K
题目描述
给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。
输入描述:
第一行一个数n表示点的个数;接下来n-1行,每行两个整数x,y表示边;保证输入数据形成一棵树;1<=n<=100000
输出描述:
一行一个整数表示答案。
示例1
输入
31 21 3
输出
1
解析:它是一棵树,不是一个图,随便找一个顶点搜一下,搜完之后必然把所有顶点都覆盖了,距离为偶数的只能连接偶数,奇数只能连接奇数,就是n*(n-1)/2
代码:
#include<bits/stdc++.h>using namespace std; vector<int> mp[100009];int used[100009];int res[100009]; void dfs(int u, int f){ used[u] = 1; res[u] = f; for(int j = 0; j < mp[u].size(); j++) { if(used[mp[u][j]]) continue; dfs(mp[u][j], !f); } } int main(){ int n, x, y; scanf("%d", &n); for(int i = 1; i < n; i++) { scanf("%d%d", &x, &y); mp[x].push_back(y); mp[y].push_back(x); } dfs(1, 0); long long o, e; o = e = 0; for(int i = 1; i <= n; i++) if(res[i]) o++; else e++; printf("%lld\n", o*(o-1)/2+e*(e-1)/2); return 0;}
阅读全文
0 0
- Wannafly挑战赛1 A.Treepath
- Wannafly挑战赛1 A Treepath
- Wannafly挑战赛1 A.Treepath(dfs)
- Wannafly挑战赛1 A Treepath LCA
- Wannafly挑战赛1 Treepath
- Wannafly挑战赛1:A-Treepath(DFS或BFS)
- 【Wannafly挑战赛1】A Treepath 【树形DP】or 【黑白染色 找规律】
- Wannafly挑战赛1 Treepath(树形DP,思维)
- wannafly 1 treepath
- Wannafly挑战赛1 A-DP
- Wannafly #1 Treepath(树形DP)
- Wannafly挑战赛1A-(树形DP)
- Wannafly挑战赛3 A
- NowCoder Wannafly 挑战赛1
- Wannafly挑战赛1_MMSet2
- Wannafly挑战赛1 B
- Wannafly挑战赛1 C
- Wannafly 牛客网 挑战赛2 A
- Tesseract-OCR识别中文与训练字库实例
- sql标签和include标签使用.封装SQL语句
- c++string类的简单实现
- 随机生成六位校验码
- Java中实现多线程
- Wannafly挑战赛1 A Treepath
- 583. Delete Operation for Two Strings(两个字符串的删除操作)
- 继承和派生
- python3--爬虫实战一:爬取豆瓣电影250
- 十月微信小程序导航:官方文档+精品教程+demo集合(10月14日更新)
- 基于Qt的2048游戏
- [vijos1763]Wormhole
- 201711_jotting
- http状态码