当前位置: 首页 > news >正文

AcWing 1250. 格子游戏(并查集)

题目链接

活动 - AcWing本课程系统讲解常用算法与数据结构的应用方式与技巧。icon-default.png?t=N7T8https://www.acwing.com/problem/content/1252/

题解

当两个点已经是在同一个连通块中,再连一条边,就围成一个封闭的圈。一般用x * n + y的形式将(x, y)变成一维。

代码

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;const int N = 40010;int n, m;
int p[N];int get(int x, int y)
{return x * n + y;
}int find(int x)
{if (p[x] != x) p[x] = find(p[x]);return p[x];
}int main()
{cin >> n >> m;for (int i = 0; i < n * n; i++) p[i] = i;int res = 0;for (int i = 1; i <= m; i++){int x, y;char d;cin >> x >> y >> d;x--, y--;int a = get(x, y);int b;if (d == 'D') b = get(x + 1, y);else b = get(x, y + 1);int pa = find(a), pb = find(b);if (pa == pb){res = i;break;}p[pa] = pb;}if (!res) puts("draw");else cout << res << endl;return 0;
}

参考资料

  1. AcWing算法提高课

相关文章:

AcWing 1250. 格子游戏(并查集)

题目链接 活动 - AcWing本课程系统讲解常用算法与数据结构的应用方式与技巧。https://www.acwing.com/problem/content/1252/ 题解 当两个点已经是在同一个连通块中&#xff0c;再连一条边&#xff0c;就围成一个封闭的圈。一般用x * n y的形式将&#xff08;x, y&#xff0…...

CSS对文本的简单修饰

CSS格式&#xff1a; 格式一&#xff1a;在head中的style标签范围内。 < style> 在style内的只写名字不写 &#xff1a; < > 选择器 { 属性的名称 &#xff1a; 样式&#xff1b; 属性的名称&#xff1a;样式&#xff1b; } < style> style中的注释用/* *…...

C++17中if和switch语句的新特性

1.从C17开始&#xff0c;if语句允许在条件表达式里添加一条初始化语句。当仅在if语句范围内需要变量时&#xff0c;使用这种形式的if语句。在if语句的条件表达式里定义的变量将在整个if语句中有效&#xff0c;包括else部分。 std::mutex mx; bool shared_flag true; // guard…...

极坐标下的牛拉法潮流计算57节点MATLAB程序

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 潮流计算&#xff1a; 潮流计算是根据给定的电网结构、参数和发电机、负荷等元件的运行条件&#xff0c;确定电力系统各部分稳态运行状态参数的计算。通常给定的运行条件有系统中各电源和负荷点的功率、枢纽…...

软件设计师——计算机网络(三)

&#x1f4d1;前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1…...

【ArkTS】循环控制与List的使用

ArkTS如何进行循环渲染 现有数据如下 class Item{name:stringimage:Resourceprice:numberdicount:numberconstructor(name:string,image:Resource,price:number,dicount?:number) {this.name namethis.image imagethis.price pricethis.dicount dicount} }private items…...

条款3:尽量使用const

文章目录 const指针和函数声明const修饰指针const修饰函数const修饰容器const应用在函数中 const限定成员函数避免const重载的代码重复总结 const指针和函数声明 const修饰指针 char greeting[] "Hello"; char* p greeting; // non-const 指针,// non-const 数据…...

Chromadb词向量数据库总结

简介 Chroma 词向量数据库是一个用于自然语言处理&#xff08;NLP&#xff09;和机器学习的工具&#xff0c;它主要用于词嵌入&#xff08;word embeddings&#xff09;。词向量是将单词转换为向量表示的技术&#xff0c;可以捕获单词之间的语义和语法关系&#xff0c;使得计算…...

Gin之GORM 操作数据库(MySQL)

GORM 简单介绍 GORM 是 Golang 的一个 orm 框架。简单说&#xff0c;ORM 就是通过实例对象的语法&#xff0c;完成关系型数据库的操作的技术&#xff0c;是"对象-关系映射"&#xff08;Object/Relational Mapping&#xff09; 的缩写。使用 ORM框架可以让我们更方便…...

二十七、读写文件

二十七、读写文件 27.1 文件类QFile #include <QCoreApplication>#include<QFile> #include<QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QFile file("D:/main.txt");if(!file.open(QIODevice::WriteOnly | QIODe…...

flutter 代码混淆

Flutter 应用混淆&#xff1a; Flutter 应用的混淆非常简单&#xff0c;只需要在构建 release 版应用时结合使用 --obfuscate 和 --split-debug-info 这两个参数即可。 –obfuscate --split-debug-info 用来指定输出调试文件的位置&#xff0c;该命令会生成一个符号映射表。目前…...

05 Vue中常用的指令

概述 All Vue-based directives start with a v-* prefix as a Vue-specific attribute. 所有基于 Vue 的指令都以 v-* 前缀作为 Vue 特有的属性。 v-text The v-text directive has the same reactivity as with interpolation. Interpolation with {{ }} is more perform…...

Mr. Cappuccino的第67杯咖啡——MacOS通过PD安装Win11

MacOS通过PD安装Win11 下载ParallelsDesktop安装ParallelsDesktop激活ParallelsDesktop下载Windows11安装Windows11激活Windows11 下载ParallelsDesktop ParallelsDesktop下载地址 安装ParallelsDesktop 关闭上面的窗口&#xff0c;继续操作 激活ParallelsDesktop 关闭上面的…...

【云原生kubernets】Service 的功能与应用

一、Service介绍 在kubernetes中&#xff0c;pod是应用程序的载体&#xff0c;我们可以通过pod的ip来访问应用程序&#xff0c;但是pod的ip地址不是固定的&#xff0c;这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题&#xff0c;kubernetes提供了Service资…...

docker安装Prometheus

docker安装Prometheus Docker搭建Prometheus监控系统 环境准备(这里的环境和版本是经过测试没有问题,并不是必须这个版本) 主机名IP配置系统说明localhost随意2核4gCentOS7或者Ubuntu20.0.4docker版本23.0.1或者24.0.5,docker-compose版本1.29 安装Docker Ubuntu20.0.4版本…...

了解 Flutter 3.16 功能更新

作者 / Kevin Chisholm 我们在季度 Flutter 稳定版发布会上带来了 Flutter 3.16&#xff0c;此版本包含诸多更新: Material 3 成为新的默认主题、为 Android 带来 Impeller 的预览版、允许添加适用于 DevTools 的扩展程序等等&#xff0c;以及同步推出 Flutter 休闲游戏工具包重…...

python之画动态图 gif效果图

import pandas as pd import matplotlib import matplotlib.pyplot as plt import os# set up matplotlib is_ipython inline in matplotlib.get_backend() if is_ipython:from IPython import displayplt.ion()def find_csv_files(directory):csv_files [] # 用于存储找到的…...

【JavaWeb】用注解代替配置文件

WebServlet("/query") public class QueryServlet extends HttpServlet {...}在Servlet类上写WebServlet("query"),就相当于在配置文件里写了↓ <servlet><servlet-name>query</servlet-name><servlet-class>QueryServlet</se…...

SpringBoot 3.0 升级之 Swagger 升级

文章目录 SpringFox3.0.0openapi3Swagger 注解迁移ApiApiOperationApiImplicitParamApiModelApiModelProperty 最近想尝试一下最新的 SpringBoot 项目&#xff0c;于是将自己的开源项目进行了一些升级。 JDK 版本从 JDK8 升级至 JDK17。SpringBoot 版本从 SpringBoot 2.7.3 升…...

AR游戏开发

增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;游戏是一种整合了虚拟和现实元素的游戏体验。玩家通过使用AR设备&#xff08;如智能手机、AR眼镜或平板电脑&#xff09;来与真实世界互动&#xff0c;游戏中的数字内容与真实环境相结合。以下是一些关于AR游戏…...

GTE模型在法律文书智能检索中的突破性应用

GTE模型在法律文书智能检索中的突破性应用 1. 引言 在法律行业&#xff0c;文书检索一直是个让人头疼的问题。传统的检索方式主要依赖关键词匹配&#xff0c;但法律文书往往涉及复杂的语义关系和专业术语&#xff0c;简单的关键词搜索经常会出现"查不全"或"查…...

跨平台开发避坑:海康SDK在Linux下PRO_LoginHikDevice失败的依赖冲突解析

1. 从Windows到Linux的迁移之痛&#xff1a;海康SDK登录失败初探 最近接手一个项目&#xff0c;需要把原本在Windows上运行良好的海康SDK开发代码迁移到Ubuntu 20.04LTS环境。本以为只是简单的环境切换&#xff0c;没想到刚起步就栽了个大跟头——PRO_LoginHikDevice方法死活登…...

从PLC到Kubernetes:工业Python网关高可用配置的6层安全加固体系(含CVE-2024-XXXX漏洞规避方案)

第一章&#xff1a;工业Python网关的演进逻辑与高可用本质工业现场设备协议繁杂、环境严苛、响应实时性要求高&#xff0c;传统嵌入式网关受限于固件封闭、扩展能力弱和生态割裂&#xff0c;难以支撑现代智能制造对数据柔性接入与边缘智能协同的需求。Python凭借其丰富的工业协…...

YOLO12新手入门:40MB轻量模型,低配置也能流畅运行

YOLO12新手入门&#xff1a;40MB轻量模型&#xff0c;低配置也能流畅运行 1. YOLO12简介与核心优势 1.1 什么是YOLO12 YOLO12是2025年最新发布的目标检测模型&#xff0c;由美国纽约州立大学布法罗分校和中国科学院大学联合研发。这个模型最大的特点是引入了革命性的注意力为…...

Qwen3-VL-8B开源AI聊天系统效果展示:多语言混合输入理解能力

Qwen3-VL-8B开源AI聊天系统效果展示&#xff1a;多语言混合输入理解能力 1. 系统概览与核心能力 Qwen3-VL-8B是一个基于通义千问大语言模型的Web聊天应用&#xff0c;提供了简洁美观的PC端聊天界面。这个完整的AI聊天系统包含前端界面、反向代理服务器和vLLM推理后端&#xf…...

ViGEmBus:Windows虚拟游戏手柄驱动终极指南

ViGEmBus&#xff1a;Windows虚拟游戏手柄驱动终极指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 项目概述与价值主张 ViGEmBus是一款革命性的Windows…...

C++的std--ranges视图缓存

C的std::ranges视图缓存&#xff1a;高效数据处理的现代利器 在C20中&#xff0c;std::ranges库的引入彻底改变了数据处理的范式&#xff0c;其中视图缓存&#xff08;View Caching&#xff09;作为一项关键技术&#xff0c;显著提升了代码的性能与可读性。视图缓存允许开发者…...

RexUniNLU零样本NLU详细步骤:MRC阅读理解任务Schema编写与调用

RexUniNLU零样本NLU详细步骤&#xff1a;MRC阅读理解任务Schema编写与调用 1. 引言&#xff1a;什么是RexUniNLU和MRC任务 如果你正在寻找一个能够理解中文、不需要训练就能直接使用的自然语言处理工具&#xff0c;RexUniNLU可能就是你要找的解决方案。这个基于DeBERTa模型的…...

别再为GEO数据注释发愁了!三种方法(TXT/Soft/R包)保姆级代码实战

GEO数据注释实战指南&#xff1a;TXT/Soft/R包三种方法全解析 刚接触生物信息学的研究者常常会在GEO数据分析的第一步就卡壳——面对五花八门的注释文件格式&#xff0c;如何准确高效地将探针ID转换为基因Symbol&#xff1f;这个问题看似简单&#xff0c;实则暗藏玄机。我曾见过…...

快速集成A2A Agent

面我们提到可以将MCP服务也封装为一个Tool&#xff08;AIFunction&#xff09;让Agent调用&#xff0c;这里A2A Agent也是一样的道理。 这样做的好处是&#xff1a;让MAF中的Agent像调用本地函数一样调用远程A2A Agent 或 MCP Server。 下面的代码展示了在MAF中将A2A Card转换…...