网络的可靠性

部署运行你感兴趣的模型镜像
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<vector>
#include<cstring>
using namespace std;

#define MAX 1000
int N, num, MIN, V=0;
bool is_AR[MAX];
 //记录关节点的个数 
vector<int> map[MAX];
int visited[MAX],low[MAX];

void DFSArticul( int v )
{
     visited[v] = MIN = ++num;
     for(int i =0; i< map[v].size(); i++)
     {
      int w = map[v][i];
       if(visited[w]==0)
       {
         DFSArticul(w);
         if(low[w] < MIN) MIN = low[w];
         if(low[w] >= visited[v]) 
         {
        // printf("%d\n",w);
          is_AR[v] = true;
         } 
       } else if(visited[w]<MIN) MIN = visited[w];
     }
     low[v] = MIN;
}

void FindArticul( )
{
      num = 1;
     visited[1]=1;
     int v=0;
     for(int i=2; i<=N; i++) visited[i] = 0;
     int k = map[1][v];
     DFSArticul(k);
     if(num < N )
     {
          
           is_AR[1] = true;
       for(int i=1; i<map[1].size(); i++)
       if(visited[map[1][i]]==0)
        DFSArticul(map[1][i]);
     }
     
}
int main()
{
    while(scanf("%d",&N)!=EOF)
    {
     int a, b;
     int cout = 0;
     for(int i=1; i<=N; i++)
       map[i].clear();  
     for(int i=1; i<N; i++)
     {
       scanf("%d %d",&a, &b);
       map[a].push_back(b);
       map[b].push_back(a);
     }   
    memset(low, 0, sizeof(low));
    memset(is_AR, false, sizeof(is_AR));
    FindArticul();
    for(int i=1; i<=N; i++)
    if(is_AR[i]) cout++;
    printf("%d\n",cout);
    }
   system("pause");
   return 0;
}



刚开始以为是求图的关节点,可是发现还是WA。。。就没法了,再想的话就更难了。






                

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值