news 2026/2/21 3:17:47

洛谷 P2024 [NOI2001] 食物链

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷 P2024 [NOI2001] 食物链

题目描述

动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。

现有 N 个动物,以 1∼N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。

有人用两种说法对这 N 个动物所构成的食物链关系进行描述:

  • 第一种说法是1 X Y,表示 X 和 Y 是同类。
  • 第二种说法是2 X Y,表示 X 吃 Y。

此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。

  • 当前的话与前面的某些真的话冲突,就是假话;
  • 当前的话中 X 或 Y 比 N 大,就是假话;
  • 当前的话表示 X 吃 X,就是假话。

你的任务是根据给定的 N 和 K 句话,输出假话的总数。

输入格式

第一行两个整数,N,K,表示有 N 个动物,K 句话。

第二行开始每行一句话。格式见题目描述与样例。

输出格式

一行,一个整数,表示假话的总数。

输入输出样例

输入 #1复制

100 7 1 101 1 2 1 2 2 2 3 2 3 3 1 1 3 2 3 1 1 5 5

输出 #1复制

3

说明/提示

对于全部数据,1≤N≤5×104,1≤K≤105。

#include<bits/stdc++.h> using namespace std; const int N=5e4+10; int fa[N*3];//扩展域并查集 int n,k; int find(int x) { return x==fa[x]?x:fa[x]=find(fa[x]); } void un(int x,int y) { fa[find(x)]=find(y); } int main() { cin>>n>>k; int ret=0; //初始化 for(int i=1;i<=3*n;i++) { fa[i]=i; } for(int i=1;i<=k;i++) { int op,x,y; cin>>op>>x>>y; if(x>n||y>n) ret++; else if(op==1)//同类 { //x->y y->x if(find(x)==find(y+n+n)||find(y+n)==find(x)) { ret++; }else{ un(x,y); un(x+n,y+n); un(x+n+n,y+n+n); } }else//x->y { //y->x 同类 if(find(x)==find(y)||find(y+n+n)==find(x)) { ret++; }else{ un(y,x+n+n); un(y+n,x); un(y+n+n,x+n); } } } cout<<ret<<endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/14 16:02:18

Animeko跨平台动漫追番神器:从入门到精通的完整指南

在数字娱乐时代&#xff0c;动漫爱好者面临着内容分散、平台繁杂的困扰。Animeko应运而生&#xff0c;这款基于Kotlin Multiplatform技术构建的跨平台应用&#xff0c;彻底改变了传统追番模式。无论你是使用手机、平板还是电脑&#xff0c;都能享受到一致的流畅体验。 【免费下…

作者头像 李华
网站建设 2026/2/19 21:11:17

中级软件设计师英语部分备考攻略:完形填空高频考点与解题技巧

中级软件设计师考试的英语部分以完形填空为核心题型&#xff0c;聚焦 IT 领域核心概念与专业术语&#xff0c;主要考查考生对技术语境的理解、专业词汇的积累以及逻辑推理能力。题目多围绕软件架构、云计算、数据库、安全防护等高频考点展开&#xff0c;难度适中但对专业语境适…

作者头像 李华
网站建设 2026/2/15 22:00:32

2025年下半年软件设计师易混淆知识点

该文档聚焦软件设计师考试6 大核心模块的易混淆知识点&#xff0c;涵盖计算机组成与体系结构、操作系统、程序设计语言基础、数据结构、算法基础、系统开发基础&#xff0c;通过定义区分、表格对比、实例说明的方式&#xff0c;清晰梳理了原反补码运算、寻址方式、存储管理、编…

作者头像 李华
网站建设 2026/2/6 4:29:31

Headscale配置终极指南:从零到精通的环境变量管理技巧

Headscale配置终极指南&#xff1a;从零到精通的环境变量管理技巧 【免费下载链接】headscale An open source, self-hosted implementation of the Tailscale control server 项目地址: https://gitcode.com/GitHub_Trending/he/headscale 还在为Headscale的复杂配置头…

作者头像 李华
网站建设 2026/2/18 17:35:07

测试架构师的成长路径:从技术执行到质量战略的跨越

在软件测试领域&#xff0c;测试架构师是连接技术实践与质量战略的核心角色。他们不仅需要深厚的测试技术功底&#xff0c;还需具备系统设计、风险管理和团队协作能力&#xff0c;推动质量保障体系从“被动检测”向“主动设计”演进。本文结合行业实践&#xff0c;梳理测试架构…

作者头像 李华
网站建设 2026/2/20 11:48:53

多人姿态估计终极指南:从零开始构建实时人体分析系统

在当今计算机视觉技术飞速发展的时代&#xff0c;多人姿态估计已成为智能监控、虚拟现实、运动分析等领域的核心技术。AlphaPose作为业界领先的开源解决方案&#xff0c;为开发者提供了强大的实时多人姿态估计能力。 【免费下载链接】AlphaPose Real-Time and Accurate Full-Bo…

作者头像 李华