news 2026/6/13 18:29:51

打卡信奥刷题(2531)用C++实现信奥 P2024 [NOI2001] 食物链

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2531)用C++实现信奥 P2024 [NOI2001] 食物链

P2024 [NOI2001] 食物链

题目描述

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

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

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

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

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

  • 当前的话与前面的某些真的话冲突,就是假话;
  • 当前的话中XXXYYYNNN大,就是假话;
  • 当前的话表示XXXXXX,就是假话。

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

输入格式

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

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

输出格式

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

输入输出样例 #1

输入 #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×1041\le N\le 5 \times 10^41N5×1041≤K≤1051\le K \le 10^51K105

C++实现

#include<cstdio>inlineintread(){charc=getchar();intn=0;while(c<'0'||c>'9'){c=getchar();}while(c>='0'&&c<='9'){n=(n<<1)+(n<<3)+(c&15);c=getchar();}returnn;}constintmaxN=100005;intn,m,ans,fa[maxN*3];intfind(intu){returnfa[u]==u?u:fa[u]=find(fa[u]);}intmain(){n=read(),m=read();for(inti=1;i<=n*3;i++){fa[i]=i;}for(;m;m--){intopt=read(),u=read(),v=read();if(u>n||v>n){ans++;continue;}if(opt==1){if(find(u+n)==find(v)||find(u)==find(v+n)){ans++;}else{fa[find(u)]=find(v);fa[find(u+n)]=find(v+n);fa[find(u+n+n)]=find(v+n+n);}}else{if(find(u)==find(v)||find(u)==find(v+n)){ans++;}else{fa[find(u+n)]=find(v);fa[find(u+n+n)]=find(v+n);fa[find(u)]=find(v+n+n);}}}printf("%d\n",ans);return0;}

后续

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

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

AI终端评测平台terminal-bench:零基础搭建专业AI代理测试环境

AI终端评测平台terminal-bench&#xff1a;零基础搭建专业AI代理测试环境 【免费下载链接】t-bench 项目地址: https://gitcode.com/GitHub_Trending/tb/t-bench 还在为AI终端工具的评测而烦恼吗&#xff1f;手动测试耗时费力&#xff0c;结果还不准确&#xff1f;term…

作者头像 李华
网站建设 2026/6/12 21:59:25

FastAPI快速启动模板:5分钟搭建高性能API后端

想要快速启动你的FastAPI应用吗&#xff1f;Fast FastAPI boilerplate模板正是你需要的终极解决方案&#xff01;这个专业的FastAPI快速启动模板集成了最新技术栈&#xff0c;让开发者能够在5分钟内搭建起完整的高性能API后端系统。无论你是初学者还是资深开发者&#xff0c;这…

作者头像 李华
网站建设 2026/6/11 22:11:54

npm包体积优化终极方案:从臃肿到精炼的实践指南

你是否曾看着打包后数百KB的node_modules目录&#xff0c;为前端应用的加载性能而焦虑&#xff1f;作为资深前端性能优化专家&#xff0c;我要告诉你一个事实&#xff1a;80%的npm包体积都是不必要的冗余。本文将为你揭示一套从根源解决包体积问题的终极方案&#xff0c;让你的…

作者头像 李华
网站建设 2026/6/13 14:43:04

qcadoo MES:企业级制造执行系统的终极解决方案

qcadoo MES&#xff1a;企业级制造执行系统的终极解决方案 【免费下载链接】mes qcadoo MES - friendly web manufacturing software 项目地址: https://gitcode.com/gh_mirrors/me/mes 在当前制造业数字化转型的浪潮中&#xff0c;qcadoo MES作为一款开源任务调度系统和…

作者头像 李华
网站建设 2026/6/10 23:59:47

JavaScript学习笔记

JavaScript学习笔记JS简介书写语法一、基础语法规则&#xff08;必遵守&#xff09;二、变量声明数据类型运算符循环控制语句一、条件语句二、循环语句数组操作1. 新增元素&#xff08;末尾 / 开头 / 指定位置&#xff09;2. 删除元素&#xff08;末尾 / 开头 / 指定位置&#…

作者头像 李华
网站建设 2026/6/9 7:15:29

腾讯开源HunyuanImage-3.0:800亿参数重构AIGC行业格局

腾讯开源HunyuanImage-3.0&#xff1a;800亿参数重构AIGC行业格局 【免费下载链接】HunyuanImage-3.0-Instruct HunyuanImage-3.0 通过自回归框架统一多模态理解与生成&#xff0c;文本生成图像表现媲美或超越顶尖闭源模型 项目地址: https://ai.gitcode.com/tencent_hunyuan…

作者头像 李华