news 2026/9/12 17:14:21

打卡信奥刷题(2579)用C++实现信奥 P2307 迷宫

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2579)用C++实现信奥 P2307 迷宫

P2307 迷宫

题目背景

题目描述

小希非常喜欢玩迷宫游戏,现在她自己设计了一个迷宫游戏。在她设计的迷宫中,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间 A 和 B,那么既可以通过它从房间 A 走到房间 B,也可以通过它从房间 B 走到房间 A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)。小希现在把她的设计图给你,让你帮忙判断她的设计图是否符合她的设计思路。比如下面的例子,前两个是符合条件的,但是最后一个却有两种方法从555到达888

输入格式

输入包含多组数据,每组数据是一个以0 0结尾的整数对列表,表示了一条通道连接的两个房间的编号。房间的编号至少为111,且不超过100000100000100000。每两组数据之间有一个空行。

整个文件以两个-1结尾。

输出格式

对于输入的每一组数据,输出仅包括一行。如果该迷宫符合小希的思路,那么输出1,否则输出0

输入输出样例 #1

输入 #1

6 8 5 3 5 2 6 4 5 6 0 0 8 1 7 3 6 2 8 9 7 5 7 4 7 8 7 6 0 0 3 8 6 8 6 4 5 3 5 6 5 2 0 0 -1 -1

输出 #1

1 1 0

说明/提示

C++实现

#include<cstdio>#include<cstring>intf[100001]/*祖先*/,a,b,sum/*集合数量*/;boolbook[100001]/*是否出现*/,flag/*是否违规*/;voidcls(){//初始化for(registerinti=1;i<=100000;i++)f[i]=i;memset(book,0,sizeof(book));sum=0;flag=false;}intfind(intx){//路径压缩般找祖先if(f[x]==x)returnx;returnf[x]=find(f[x]);}intmain(){cls();while(scanf("%d%d",&a,&b)==2)//疯狂输入{if(a==-1&&b==-1)break;if(a==0&&b==0){printf("%c\n",((!flag&&sum==1)?'1':'0'));cls();continue;}//这组数据结束if(!book[a])sum++;//集合增加if(!book[b])sum++;//集合增加book[a]=true;book[b]=true;//标记intx1=find(a),x2=find(b);//祖先if(x1==x2)flag=true;//标记else{sum--;f[x1]=x2;}//修改}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 13:17:42

JavaScript 箭头函数 隐式/显式返回 和 this 指向

JavaScript箭头函数主要有两种返回方式&#xff1a;隐式返回&#xff08;省略花括号和return&#xff09;和显式返回&#xff08;使用花括号和return&#xff09;。隐式返回适用于单行表达式&#xff0c;如简单计算或数组方法回调&#xff0c;但处理对象字面量需用括号包裹。显…

作者头像 李华
网站建设 2026/9/2 14:31:59

【完整源码+数据集+部署教程】织物缺陷检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着纺织工业的快速发展&#xff0c;织物的质量控制变得愈发重要。织物缺陷不仅影响产品的外观和使用性能&#xff0c;还可能导致客户的不满和经济损失。因此&#xff0c;如何高效、准确地检测织物缺陷&#xff0c;成为了纺织行业亟待解决的技术难题。传统的织物缺…

作者头像 李华
网站建设 2026/9/3 21:35:32

老款Mac免费升级终极指南:完整解决方案与操作详解

老款Mac免费升级终极指南&#xff1a;完整解决方案与操作详解 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为老款Mac无法升级最新系统而烦恼吗&#xff1f;OpenCor…

作者头像 李华
网站建设 2026/9/2 11:45:30

为什么90%的人部署Open-AutoGLM会失败?这3个细节你必须掌握

第一章&#xff1a;服务器部署智普Open-AutoGLM教程 部署智普AI推出的开源项目 Open-AutoGLM 到本地或云服务器&#xff0c;是实现自动化代码生成与智能编程辅助的关键步骤。本章将指导完成从环境准备到服务启动的完整流程。 准备工作 确保服务器操作系统为 Ubuntu 20.04 或更…

作者头像 李华
网站建设 2026/9/3 4:55:05

GPU资源不足也能部署?Open-AutoGLM轻量化方案全解析,省下80%成本

第一章&#xff1a;Open-AutoGLM轻量化部署的背景与意义随着大模型在自然语言处理领域的广泛应用&#xff0c;其对计算资源的高需求与实际应用场景中的部署成本之间的矛盾日益突出。Open-AutoGLM作为一款面向自动化任务的大语言模型&#xff0c;具备强大的语义理解与生成能力&a…

作者头像 李华
网站建设 2026/9/12 3:48:33

跨境电商多语言客服知识库——采用anything-llm统一管理

跨境电商多语言客服知识库——采用 AnythingLLM 统一管理 在全球化浪潮推动下&#xff0c;跨境电商已从“可选项”变为零售企业的核心增长引擎。然而&#xff0c;业务版图的扩张也带来了前所未有的服务挑战&#xff1a;客户遍布五大洲、使用数十种语言、咨询内容横跨产品参数、…

作者头像 李华