首页 > 其他分享 >P8655 [蓝桥杯 2017 国 B] 发现环

P8655 [蓝桥杯 2017 国 B] 发现环

时间:2024-05-24 21:30:24浏览次数:21  
标签:int P8655 蓝桥 老祖 2017 节点 con

原题链接

题解

有点像拓扑排序
拓扑排序怎么做来着?首先找老祖节点对不对?老祖节点有什么特性?

  • 入度为零

而在无向图中,我们把叶子节点看成老祖节点,它们有什么特性?

  • 连接的边只有一条

code

#include<bits/stdc++.h>
using namespace std;
vector<int> G[100005];
int con[100005]={0};
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int x,y;
        cin>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
        con[x]++;
        con[y]++;
    }

    queue<int> q;
    for(int i=1;i<=n;i++)
    {
        if(con[i]==1) q.push(i);
    }

    while(q.size())
    {
        int now=q.front();
        q.pop();
        for(auto next:G[now])
        {
            con[next]--;
            if(con[next]==1) q.push(next);
        }
    }

    for(int i=1;i<=n;i++) if(con[i]==2) cout<<i<<" ";
    return 0;
}

标签:int,P8655,蓝桥,老祖,2017,节点,con
From: https://www.cnblogs.com/pure4knowledge/p/18211724

相关文章

  • P8765 [蓝桥杯 2021 国 AB] 翻转括号序列
    本文参考博客[蓝桥杯2021国AB]翻转括号序列(线段树上二分)一、问题简析线段树+二分初步分析令(的值为1,)的值为-1,则对于序列\(a_La_{L+1}a_{L+2}...a_R\),其为合法序列的条件为\[\begin{cases}\sum_{n=L}^R{a_n}=0\\\forall~k\in[L,R],\sum_{n=L}^k{a_n}\ge......
  • 蓝桥杯-数三角(ac代码时间复杂度分析)
    问题描述小明在二维坐标系中放置了(n)个点,他想在其中选出一个包含三个点的子集,这三个点能组成三角形。然而这样的方案太多了,他决定只选择那些可以组成等腰三角形的方案。请帮他计算出一共有多少种选法可以组成等腰三角形?输入格式输入共(n+1)行。第一行为一个正整数(......
  • 免费,Python蓝桥杯等级考试真题--第10级(含答案解析和代码)
    Python蓝桥杯等级考试真题–第10级一、选择题1、已知s='Hello!’,下列说法正确的是?()A.s[1]对应的字符是’H’B.s[2]对应的字符是’l’C.s[-1]对应的字符是’o’D.s[3]对应的字符是’o’答案:B解析:s[1]对应字符是‘e’;s[2]对应字符是‘l’;s[-1]对应字符是‘e!;s[3]......
  • 蓝桥楼赛第30期-Python-第二天赛题 题解
    楼赛第30期Python模块大比拼解析网页元素目标本次挑战,我们需要使用Python访问软科世界大学排行榜来获取首页30所学校的信息。为避免目标网站的内容发生变化,我们使用保存之后的网页进行实验。链接如下:https://labfile.oss.aliyuncs.com/courses/4070/rank2021.h......
  • 蓝桥杯-班级活动
    题目描述小明的老师准备组织一次班级活动。班上一共有(n)名((n)为偶数)同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个(n)以内的正整数作为id,第(i)名同学的id为(a_i)。老师希望通过更改若干名同学的id使得对于任意......
  • 蓝桥杯-合并数列
    小明发现有很多方案可以把一个很大的正整数拆成若干正整数的和。他采取了其中两种方案,分别将它们列为两个数组{a1,a2,...,an}和{b1,b2,...,bm}。两个数组的和相同。定义一次合并操作可以将某数组内相邻的两个数合并为一个新数,新数的值是原来两个数的和。小明想通过若干......
  • [Usaco2017 Open]Bovine Genomics 题解^&*^(
    不知道为啥,我死活想不到二分(楼下正解)所以,就有了这篇题解可以看到,这道题离暴力的距离只有一步!就是数组开不下!!小问答:数组开不下时,你会?A:mapB:优化代码C:gp_hash_table由于正在学hash,所以容易想到...tong[本来的下标%9999999]然后就玄学的过了。。。ACcode#include<bi......
  • P8774 [蓝桥杯 2022 省 A] 爬树的甲壳虫
    设\(E_i\)为树根到高度为\(i\)的点的期望用时\(Q_i\)为\(i-1\)到\(i\)的概率,\(Q_i=1-P_i\)\(T_i\)为\(i-1\)到\(i\)的期望用时,\(T_i=E_i-E_{i-1}\)则有\(T_i=Q_i\cdot1+(1-Q_i)\cdot(E_{i-1}+T_i)\)\(\toE_i-E_{i-1}=Q_i+(1-Q_i)\cdot(......
  • 蓝桥杯-子 2023 / 双子数
    题解:第一个问题A动态规划问题f[4]状态表示:f[0]表示数字是2的个数f[1]表示以2开头0结尾的个数f[2]表示以20开头2结尾的个数f[3]表示以202开头3结尾的个数f[3]就是答案代码中有详细的注释和注意事项A代码......
  • P8675 [蓝桥杯 2018 国 B] 搭积木
    原题链接题解1.请务必读清题干意思2.如果以最顶端积木的位置为状态,是可以穷尽所有情况的,则状态为\(dp[i][l][r]\),最顶端第\(i\)层只在区间\([l,r]\)内连续放置积木有几种方法3.状态转移方程$dp[i][l][r]=\sum_1^l\sum_r^mdp[i+1][x][y]$把\(x,y\)看成二维坐标上......