news 2026/4/18 7:46:29

洛谷 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/4/18 8:07:01

终极指南:3步掌握B站Windows视频播放器

想要在Windows电脑上享受更优雅的B站观看体验吗&#xff1f;这款专为Windows系统设计的B站客户端应用&#xff0c;提供了超越网页版的使用感受。作为一款优秀的Windows应用&#xff0c;它完美解决了传统浏览器播放的各种不便。 【免费下载链接】BiliBili-UWP BiliBili的UWP客户…

作者头像 李华
网站建设 2026/4/17 20:55:39

SteamShutdown智能关机助手:让电脑在游戏下载完成后自动休息

SteamShutdown智能关机助手&#xff1a;让电脑在游戏下载完成后自动休息 【免费下载链接】SteamShutdown Automatic shutdown after Steam download(s) has finished. 项目地址: https://gitcode.com/gh_mirrors/st/SteamShutdown SteamShutdown是一款专为Steam平台用户…

作者头像 李华
网站建设 2026/4/18 7:55:48

终极指南:XLeRobot强化学习环境快速入门与实战技巧

还在为实体机器人训练成本高昂、调试过程繁琐而头疼吗&#xff1f;XLeRobot项目为你提供了完美的解决方案——一个功能强大的强化学习仿真环境&#xff0c;让你在个人电脑上就能轻松开展机器人训练。本文将带你从零开始&#xff0c;快速掌握这个开源强化学习平台的核心功能和使…

作者头像 李华
网站建设 2026/4/17 13:53:41

如何用EmotiVoice生成带口音的区域化语音?

如何用 EmotiVoice 生成带口音的区域化语音&#xff1f; 在智能语音助手越来越“标准”的今天&#xff0c;你是否也曾怀念过街头巷尾那口地道的方言腔调&#xff1f;一声“侬好”里的软糯吴语&#xff0c;一句“巴适得板”中的川渝热辣——这些充满地域温度的声音&#xff0c;恰…

作者头像 李华
网站建设 2026/4/17 11:11:02

EmotiVoice本地部署教程:在私有服务器上运行情感TTS

EmotiVoice本地部署教程&#xff1a;在私有服务器上运行情感TTS 在虚拟主播深夜直播、智能客服温柔致歉、有声书自动演绎悲欢离合的今天&#xff0c;语音合成早已不再是“机器念稿”的代名词。用户期待的是能传递情绪、带有温度的声音——而这种需求&#xff0c;正在推动TTS技术…

作者头像 李华
网站建设 2026/4/18 8:16:18

2026年游戏开发黄金赛道深度解析

在即将到来的2026年&#xff0c;游戏开发领域的增长动力正发生结构性转移。市场分析报告指出&#xff0c;元宇宙应用、沉浸式VR体感互动与功能化教育游戏三大板块已确立其增长优势&#xff0c;预计年复合增长率分别为29.3%、25%和20%&#xff0c;正共同构成驱动未来市场发展的核…

作者头像 李华