【xdoj离散数学上机】T283
递归函数易错:
防止出现递归死循环!
题目
题目:求诱导出的等价关系的关系矩阵
问题描述
给定有限集合上二元关系的关系矩阵,求由其诱导出的等价关系的关系矩阵。
输入格式
第一行输入n,表示矩阵为n阶方阵,第二行给出关系矩阵
输出格式
诱导出的等价关系的关系矩阵
样例输入
样例1;
3
1 0 0
0 0 0
0 0 1
样例2:
3
1 1 1
0 0 0
0 0 1
样例输出
样例1;
1 0 0
0 1 0
0 0 1
样例2:
1 1 1
1 1 1
1 1 1
代码实现:
#include<bits/stdc++.h>
using namespace std;int main()
{int n; cin>>n;vector<vector<int>>graph(n, vector<int>(n, 0)); for(int i = 0; i < n; i++){for(int j = 0; j < n; j++){//对称性int cur = graph[i][j]; if(cur == 1) cin>>cur; else cin>>graph[i][j];if(graph[i][j] == 1){graph[j][i] = 1;}//自反性if(i == j) graph[i][j] = 1;}}//传递性set<int>st; auto dfs = [&](auto& dfs, int fa, int cur) -> void{for(int i=0; i<n; i++){if(cur != i && graph[cur][i] == 1){if(!st.count(i))//防止在两个关联项之间死循环递归{graph[fa][i] = 1;graph[i][fa] = 1;st.insert(i);dfs(dfs, fa, i);}}} return; };//调用递归时间 for(int i=0; i<n; i++){st.insert(i);dfs(dfs, i, i);st.clear();}//输出for(int i=0; i<n; i++){for(int j = 0; j < n; j++){cout<<graph[i][j]<<" ";}cout<<endl;} return 0;
}
相关文章:
【xdoj离散数学上机】T283
递归函数易错: 防止出现递归死循环! 题目 题目:求诱导出的等价关系的关系矩阵 问题描述 给定有限集合上二元关系的关系矩阵,求由其诱导出的等价关系的关系矩阵。 输入格式 第一行输入n,表示矩阵为n阶方阵,…...
Javaweb中,使用Servlet编写简单的接口
案例:网页提交用户名和密码信息,后端校验密码长度需在6-12位之间 后端部分 WebServlet("/valid") public class SimpleServlet extends HttpServlet{public void service(HttpServletRequest req, HttpServletResponse resp) throws IOExcepti…...
GESP5级语法知识(十):初级数论(三)
埃氏筛法: #include <iostream> using namespace std; const int N1e61; int pri[N]; void prime(int n){for(int i2;i*i<n;i){if(pri[i]0){ // 如果i为素数for(int jii;j<n;ji){pri[j]1; // 将i的倍数标记为合数}}} } int main(){int n;cin>>n;…...
“PEP 8: W292 no newline at end of file“报错 IntelliJ IDEA自动添加空行问题
"PEP 8: W292 no newline at end of file"报错 IntelliJ IDEA自动添加空行问题 在使用IntelliJ IDEA的过程中,经常会发现不管是对于代码文件或者纯文本文件,在保存时中会在文件末尾加上一个空行,提交GIT对比检查时,总是…...
ComfyUI工作流 FluxRedux基础换装
文章目录 FluxRedux基础换装SD模型Node节点工作流程效果展示开发与应用FluxRedux基础换装 该工作流的目标是实现服装换装功能,利用多种深度学习模型和图像处理技术,通过用户输入的服装图像和模特图像,生成逼真的换装效果图。整个工作流涵盖了从图像加载、模型编码、条件生成…...
【机器学习】常见采样方法详解
在机器学习领域,数据采样(Sampling)是一项至关重要的技术。它不仅影响模型的训练效率,还直接关系到模型的性能与泛化能力。本文将从基础概念出发,逐步深入介绍机器学习中常见的采样方法,帮助读者全面理解并…...
使用瑞芯微RK3588的NPU进行模型转换和推理
使用边缘设备进行算法落地时,通常要考虑模型推理速度,NVIDA系列平台可以使用TensorRT和CUDA加速,瑞芯微RK3588的板子上都是Arm的手机GPU,虽然没有类似CUDA的加速计算方式,但是提供了NPU进行加速推理,本文说…...
Flutter项目试水
1基本介绍 本文章在构建您的第一个 Flutter 应用指导下进行实践 可作为项目实践的辅助参考资料 Flutter 是 Google 的界面工具包,用于通过单一代码库针对移动设备、Web 和桌面设备构建应用。在此 Codelab 中,您将构建以下 Flutter 应用。 该应用可以…...
【算法学习】DFS与BFS
目录 一,深度优先搜索 1,DFS 2,图的DFS遍历 (1),递归实现(隐士栈) (2),显示栈实现(非递归) 二,广度优先搜索 1,BFS 2,图的BF…...
100.16 AI量化面试题:监督学习技术在量化金融中的应用方案
目录 0. 承前1. 解题思路1.1 应用场景维度1.2 技术实现维度1.3 实践应用维度 2. 市场预测模型2.1 趋势预测2.2 模型训练与评估 3. 风险评估模型3.1 信用风险评估 4. 投资组合优化4.1 资产配置模型 5. 回答话术 0. 承前 本文通过通俗易懂的方式介绍监督学习在量化金融中的应用&a…...
基于deepseek api和openweather 天气API实现Function Calling技术讲解
以下是一个结合DeepSeek API和OpenWeather API的完整Function Calling示例,包含意图识别、API调用和结果整合: import requests import json import os# 配置API密钥(从环境变量获取) DEEPSEEK_API_KEY os.getenv("DEEPSEE…...
线性数据结构解密:数组的定义、操作与实际应用
系列文章目录 01-从零开始掌握Python数据结构:提升代码效率的必备技能! 02-算法复杂度全解析:时间与空间复杂度优化秘籍 03-线性数据结构解密:数组的定义、操作与实际应用 文章目录 系列文章目录前言一、数组的定义与特点1.1 数组…...
CentOS搭建PPPOE服务器
一、安装软件包 yum -y install rp-pppoe 二、配置服务器 1.修改配置文件 打开/etc/ppp/pppoe-server-options文件 nano /etc/ppp/pppoe-server-options 编辑为以下内容: # PPP options for the PPPoE server # LIC: GPL require-pap require-chap login …...
【报错】解决 RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE 报错问题
解决 RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE 报错问题 写在最前面问题描述可能的原因分析解决方案该命令的作用 结论 写在最前面 在多用户使用的服务器上,导致的环境变量的冲突和不匹配问题, 代码没有问题,但程序运行异常。…...
【C语言】C语言 文具店商品库存管理系统(源码+数据文件)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 系列文章目录 目录 系列文章目录一、设计要求1. 项…...
LangChain系列: 使用工具和工具包构建代理实战教程
让我们在LangChain中构建简单代理示例,以帮助我们理解代理的基本概念和构建块。通过保持简单,我们可以更好地掌握这些代理背后的基本思想,使我们能够在未来构建更复杂的代理。 什么是代理 LangChain官方文档有非常好的章节来介绍其代理的高级…...
布隆过滤器(简单介绍)
布隆过滤器(Bloom Filter) 是一种高效的概率型数据结构,用于快速判断一个元素是否可能存在于某个集合中。它的核心特点是空间效率极高,但存在一定的误判率(可能误报存在,但不会漏报)。 核心原理…...
C++ 利器:inline 与 nullptr
探秘 C 利器:inline 与 nullptr 引言 在 C 的浩瀚海洋中,有着许多实用且强大的特性,它们如同夜空中闪烁的繁星,照亮了开发者前行的道路。今天,我们要深入探索其中两颗耀眼的星星:inline 关键字和 nullptr …...
给一个单体项目加装Feign
1.导入pom坐标 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>4.1.2</version> </dependency> 2.主函数注解 EnableFeignClients public cl…...
可以使用Deepseek R1模型的平台集锦
最近Deepseek掀起了AI浪潮,就在今天百度文心一言和ChatGPT宣布要在近期实施免费开放,日渐减少的用户。Deepseek这么火爆,其官网却一直遭受攻击,访问速度很慢。自己本地部署,又负担不起硬件费用,相比之下&am…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
