当前位置: 首页 > news >正文

A-Treepath//dfs

题目:

A-Treepath

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。

输入描述:

第一行一个数n表示点的个数;
接下来n-1行,每行两个整数x,y表示边;
保证输入数据形成一棵树;
1<=n<=100000

输出描述:

一行一个整数表示答案。
示例1

输入

3
1 2
1 3

输出

 1

 

思路:

 

代码:

#include <iostream>
#include <vector>

using namespace std;
const int N = 1e5 + 1;
int x = 0, y = 0;
vector<int> a[N];
bool marked[N];

void dfs(int v, int len)
{
    marked[v] = true;
    if(len % 2 == 0)
        x++;
    else 
        y++;

    for(int i = 0; i < a[v].size(); i++)
    {
        if(marked[a[v][i]])
            continue;
        dfs(a[v][i], ++len);
        len--;    
    }    
}

int main()
{
    int n;
    int v,w;
    cin >> n;
    for(int i = 0; i < n-1; i++)
    {
        cin >> v >> w;
        a[v].push_back(w);
            a[w].push_back(v);    
    }
    dfs(1,0);
    long long ans = (long long)(x-1)*x/2 + (long long)(y-1)*y/2;
    printf("%lld\n", ans);
    return 0;
}

 

转载于:https://www.cnblogs.com/w-j-c/p/9218940.html

相关文章:

  • OO第四次博客
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • Spring Boot模板引擎 (三)
  • js上传
  • Quagga 配置笔记
  • libstdc++.so.6: version `GLIBCXX_3.4.21'
  • JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
  • 阿里云服务提供商分享CDN访问异常该如何排查
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • 各种品牌进入Bios方式
  • WIFI搜索的到别人,却找不到自己家的wifi
  • Go第三方库
  • http和https和ssl和tcp/ip之间的关系和区别
  • 人工智能20年内取代近半职业?
  • bzoj 1009 [HNOI2008]GT考试——kmp+矩阵优化dp
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • Java IO学习笔记一
  • js数组之filter
  • js写一个简单的选项卡
  • MaxCompute访问TableStore(OTS) 数据
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • OSS Web直传 (文件图片)
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Redux 中间件分析
  • Shell编程
  • SSH 免密登录
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 翻译:Hystrix - How To Use
  • 嵌入式文件系统
  • 使用SAX解析XML
  • 小程序button引导用户授权
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • $forceUpdate()函数
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (42)STM32——LCD显示屏实验笔记
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)球球大作战
  • (Python第六天)文件处理
  • (笔试题)分解质因式
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (数据结构)顺序表的定义
  • (四)模仿学习-完成后台管理页面查询
  • (推荐)叮当——中文语音对话机器人
  • (一)Neo4j下载安装以及初次使用
  • (译) 函数式 JS #1:简介
  • (转)ObjectiveC 深浅拷贝学习
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET DataGridView数据绑定说明
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET导入Excel数据