【洛谷】P8604 [蓝桥杯 2013 国 C] 危险系数(爆搜)

这篇具有很好参考价值的文章主要介绍了【洛谷】P8604 [蓝桥杯 2013 国 C] 危险系数(爆搜)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:核心思路:

把每个点(除起点和终点)的当成关键点z试一试,每个点(当然该点还能必须直接或者间接与起点相连,不然该点本来就和起点是否到达终点无关,那么该点肯定是不能算的)都跑一遍bfs查找是否没有当前关键点z,起点还能不能到终点,如果不能,则该z就是关键点,关键点点数cnt++。

2:-1情况

另外在没有设置关键点的时候先跑一遍,如果在没有限制的情况下,还是不能到达终点,那么就输出-1。

okk上

3:ACcode:

#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10,M=2e3+10;
int mp[N][N],a[N][N],n,m,x,y,cnt;
bool vis[N];
void copy(){
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	mp[i][j]=a[i][j];
}
bool bfs(int z){
	memset(vis,false,sizeof vis);
	copy();
	queue<int>q;
	q.push(x);
	vis[x]=true;
   while(!q.empty()){
   	  int t=q.front();
   	  q.pop();
   	  for(int i=1;i<=n;i++){
   	  	  if(mp[t][i]==0||t==z||i==z||vis[i])continue;
   	  	  if(i==y) return 0;
   	  	  q.push(i);
   	  	  vis[i]=true;
		 }
   }
   return 1;
}
void solve(){
  cin>>n>>m;
  for(int i=1;i<=m;i++){
  	int u,v;
  	cin>>u>>v;
  	a[u][v]=1,a[v][u]=1;
  }
  cin>>x>>y;
  if(bfs(0)==1){
  	cout<<"-1";
  	return;
  } 
  for(int i=1;i<=n;i++){
  	if(i==x||i==y) continue;
  	if(bfs(i)) cnt++;
  }
  cout<<cnt<<"\n"; 
  
}
int main(){
	
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	solve();
	return 0;
}

over~文章来源地址https://www.toymoban.com/news/detail-603218.html

到了这里,关于【洛谷】P8604 [蓝桥杯 2013 国 C] 危险系数(爆搜)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [蓝桥杯 2013 省 AB] 错误票据

    某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。 你的任务是通过编程,找出断号

    2024年02月01日
    浏览(30)
  • [蓝桥杯 2013 省 B] 翻硬币

    小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用  *  表示正面,用  o  表示反面(是小写字母,不是零),比如可能情形是  **oo***oooo ,如果同时翻转左边的两个硬币,则变为  oooo***oooo 。现在小明的问题是:如果已知了初始状态和要达到的目标

    2024年01月17日
    浏览(28)
  • P8605 [蓝桥杯 2013 国 AC] 网络寻路

    X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。 源地址和目标地址可以相同,但中间节点必须不

    2024年02月13日
    浏览(26)
  • P8605 [蓝桥杯 2013 国 AC] 网络寻路 (dfs+理解题意)

    题意:找一条四边的路径,保住中间两个节点编号只能出现一次(起点(首)和终点(未)可以一样) ACcode: over~

    2024年02月15日
    浏览(29)
  • 蓝桥杯专题之递归+dfs+bfs篇

    2013年:第39级台阶 2014年:李白打酒,地宫取宝 2015年:牌型种数 2016年:方格填数,剪邮票 2018年:全球变暖 2019年:迷宫 2020年:走方格,七段码 2022年模拟赛:2021变1的最短操作数 2022年第一次模拟赛:15级台阶 2022年国赛:扩散 小明刚刚看完电影《第39级台阶》,离开电影院

    2023年04月08日
    浏览(35)
  • 蓝桥杯练习题dfs与bfs

    本文主要是【算法】——dfs与bfs的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见

    2024年01月21日
    浏览(36)
  • 【蓝桥杯】信号覆盖范围——BFS(java题解)

    小蓝负责一块区域的信号塔安装,整块区域是一个长方形区域,建立坐标轴后,西南角坐标为 (0, 0), 东南角坐标为 (W, 0), 西北角坐标为 (0, H), 东北角坐标为 (W, H)。其中 W, H 都是整数。 他在 n 个位置设置了信号塔,每个信号塔可以覆盖以自己为圆心,半径为 R 的圆形(包

    2023年04月09日
    浏览(27)
  • 蓝桥集训之BFS、DFS和链式前向星

    https://www.bilibili.com/video/BV1RD4y1F7Fq 图一般定义为 二元集 ; 由 顶点集 与 边集 构成。 或者更抽象的说,由一个集合(顶点),和集合上的关系(边)构成 邻接矩阵 邻接表 度,出度,入度 在有向图中,箭头是具有方向的,从一个顶点指向另一个顶点,这样一来,每个顶点 被指

    2023年04月09日
    浏览(27)
  • 蓝桥杯备赛 | 洛谷做题打卡day5

    题目描述 小 K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小 K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。 假设洛谷

    2024年01月17日
    浏览(45)
  • 蓝桥杯备赛 | 洛谷做题打卡day4

    高精度加法,相当于 a+b problem, 不用考虑负数 。 分两行输入。 a , b ≤ 1 0 500 a,b leq 10^{500} a , b ≤ 1 0 500 。 输出只有一行,代表 a + b a+b a + b 的值。 样例输入 #1 样例输出 #1 样例输入 #2 样例输出 #2 学会利用新知,自己多试试并尝试积攒一些固定解答方案,debug,以下是我的

    2024年01月17日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包