news 2026/6/10 14:55:34

打卡信奥刷题(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/8 2:17:29

AI音频生成终极指南:从文本到环境音效的完整实践

AI音频生成终极指南&#xff1a;从文本到环境音效的完整实践 【免费下载链接】audiocraft Audiocraft is a library for audio processing and generation with deep learning. It features the state-of-the-art EnCodec audio compressor / tokenizer, along with MusicGen, …

作者头像 李华
网站建设 2026/6/8 10:15:33

HunyuanVideo:83亿参数轻量模型如何重构你的视频创作体验

HunyuanVideo&#xff1a;83亿参数轻量模型如何重构你的视频创作体验 【免费下载链接】HunyuanVideo 项目地址: https://ai.gitcode.com/hf_mirrors/tencent/HunyuanVideo 开场白&#xff1a;当专业级视频生成能力从云端降落到你的桌面&#xff0c;一场创作革命正在悄然…

作者头像 李华
网站建设 2026/6/10 1:19:37

省时90%:MinGW-w64极速配置方案对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个对比演示应用&#xff0c;左侧展示传统方式&#xff1a;手动下载、选择安装选项、配置环境变量等交互步骤&#xff1b;右侧展示自动化方案&#xff1a;输入安装MinGW-w64指…

作者头像 李华
网站建设 2026/6/9 18:46:49

70看看:1小时验证你的产品创意

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 输入到70看看&#xff1a;生成一个共享单车应用的MVP原型&#xff0c;包含用户注册登录、地图显示附近单车、扫码解锁和行程记录功能。使用React Native前端&#xff0c;Firebase后…

作者头像 李华
网站建设 2026/6/9 11:33:31

AI如何简化CANopen协议开发?5个自动化技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个基于CANopen协议的智能代码生成工具&#xff0c;要求&#xff1a;1. 支持通过自然语言描述自动生成PDO/SDO映射配置代码 2. 能够解析标准EDS文件并生成可视化对象字典 3. 包…

作者头像 李华
网站建设 2026/6/10 13:51:06

嵌入式代码优化:实战技巧与性能提升

嵌入式代码优化实战技术文章大纲嵌入式代码优化概述嵌入式系统特点与优化需求优化目标&#xff1a;性能、功耗、内存占用常见优化场景&#xff1a;实时性要求、资源受限环境性能优化方法编译器优化选项与配置循环优化&#xff1a;展开、分块、向量化内联函数与减少函数调用开销…

作者头像 李华