zoukankan      html  css  js  c++  java
  • 牛客算法周周练17A

    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    题目大意:

    给出两个生成树,每一条恰好n - 1 条边,现在定义一种操作,可以删除一条边并增加一条边,问最少几次操作才能使两棵树完全相同。

    解题思路:

    基础STL,用map映射一下 u v,第二次输入时,如果这条边是没出现过的那就说明一定要改,ans++即可。

    Code:

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <cmath>
    #include <vector>
    #include <map>
    #include <set>
    #include <cstring>
    #include <queue>
    using namespace std;
    typedef long long ll;
    typedef pair<int, int> pii;
    map<pii, int> mp;
    int main()
    {
        int n;
        cin >> n;
        for (int i = 1; i < n; i ++)
        {
            int x, y;
            cin >> x >> y;
            if (x < y)
              swap(x, y);
            mp[make_pair(x, y)]++;
        }
        int ans = 0;
        for (int i = 1; i < n; i ++)
        {
            int x, y;
            cin >> x >> y;
            if (x < y)
              swap(x, y);
            if (!mp[make_pair(x, y)])  ans ++;
        }
        cout << ans << endl;
        return 0;
    }
    
  • 相关阅读:
    Service解析
    Android消息处理
    FragmentTransaction.addToBackStack无效的问题
    Activity生命周期
    width 的100% 与 auto
    parseInt 与 parseFloat 解析
    splice
    <c:forEach>
    笔记,遮罩。。
    nginx 的windows 基本配置
  • 原文地址:https://www.cnblogs.com/Hayasaka/p/14294176.html
Copyright © 2011-2022 走看看