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

打卡信奥刷题(3149)用C++实现信奥题 P7677 [COCI 2013/2014 #5] LADICE

P7677 [COCI 2013/2014 #5] LADICE

题目描述

N NN个物品,L LL个抽屉,每个抽屉只能放1 11个物品,每个物品都能被放进抽屉A i A_iAiB i B_iBi中。

放物品的规则如下(按照顺序执行,即满足条件1 11时就立刻执行,不会执行条件2 22;不满足条件1 11时就判断条件2 22):

  • 1. 1.1.如果抽屉A i A_iAi是空的,就把这个物品放进抽屉A i A_iAi中;

  • 2 22如果抽屉B i B_iBi是空的,就把这个物品放进抽屉B i B_iBi中;

  • 3. 3.3.把抽屉A i A_iAi中的物品移到它的另一个抽屉里;如果这个抽屉也满了,就把这个抽屉里的物品放到它的另一个抽屉里,直到你成功或回到之前遇到过的抽屉为止。如果成功了,就把这个物品放进这个抽屉中;

  • 4. 4.4.把抽屉B i B_iBi中的物品移到它的另一个抽屉里;如果这个抽屉也满了,就把这个抽屉里的物品放到它的另一个抽屉里,直到你成功或回到之前遇到过的抽屉为止。如果成功了,就把这个物品放进这个抽屉中;

  • 5. 5.5.扔掉此物品。

对于给定的每件物品,请你求出哪些物品将被保存,哪些将被扔掉。

输入格式

第一行,两个整数N NNL LL,分别表示物品个数和抽屉个数;

接下来的N NN行,每行两个整数A i A_iAiB i B_iBi,表示物品i ii能被储存的两个抽屉。

输出格式

输出共N NN行,每行一个字符串:

如果该物品成功被保存,输出LADICA

如果该物品被扔掉,输出SMECE

输入输出样例 #1

输入 #1

5 3 1 2 1 3 1 2 1 3 1 2

输出 #1

LADICA LADICA LADICA SMECE SMECE

输入输出样例 #2

输入 #2

9 10 1 2 3 4 5 6 7 8 9 10 2 3 1 5 8 2 7 9

输出 #2

LADICA LADICA LADICA LADICA LADICA LADICA LADICA LADICA LADICA

说明/提示

【样例解释 #1】

物品1 11放入抽屉1 11,物品2 22放入抽屉3 33,物品3 33放入抽屉2 22,物品4 44和物品5 55没有地方放。

【样例解释 #2】

物品1 11放入抽屉1 11,物品2 22放入抽屉3 33,物品3 33放入抽屉5 55,物品4 44放入抽屉7 77,物品5 55放入抽屉9 99,物品6 66放入抽屉2 22,物品8 88放入抽屉8 88

物品7 77的两个抽屉都满了,将抽屉1 11里的物品1 11移到抽屉2 22里,将抽屉2 22里的物品6 66移到抽屉3 33里,将抽屉3 33里的物品2 22移到抽屉4 44里,抽屉4 44是空的,成功放入。

物品9 99的两个抽屉都满了,将抽屉7 77里的物品4 44移到抽屉8 88里,将抽屉8 88里的物品8 88移到抽屉2 22里,将抽屉2 22里的物品1 11移到抽屉1 11里,将抽屉1 11里的物品7 77移到抽屉5 55里,将抽屉5 55里的物品3 33移到抽屉6 66里,抽屉6 66是空的,成功放入。

【数据范围】

对于50 % 50\%50%的数据,1 ≤ N , L ≤ 2000 1\le N,L\le 20001N,L2000

对于100 % 100\%100%的数据,1 ≤ N , L ≤ 3 × 10 5 1\le N,L\le 3\times 10^51N,L3×1051 ≤ A i , B i ≤ L 1\le A_i,B_i\le L1Ai,BiL

【说明】

本题分值按 COCI 原题设置,满分160 160160

题目译自COCI2013_2014 CONTEST #5T6 LADICE

C++实现

#include<iostream>usingnamespacestd;intn,l;constintN=3e5+5;intvis[N],fa[N];intfind(intx){if(fa[x]==x)returnx;returnfa[x]=find(fa[x]);}voidun(intx,inty){x=find(x),y=find(y);if(x!=y)fa[y]=x;}//并查集基本操作intmain(){cin>>n>>l;for(inti=1;i<=l;i++)fa[i]=i;//初始化for(inti=1;i<=n;i++){intx,y;cin>>x>>y;if(vis[find(x)]==0||vis[find(y)]==0){//放得下cout<<"LADICA\n";if(vis[find(x)]==0){//可以执行条件1/3vis[find(x)]=1;//标记un(y,x);}else{//可以执行条件2/4vis[find(y)]=1;//标记un(x,y);}}elsecout<<"SMECE\n";//放不下}return0;}

后续

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

http://www.jsqmd.com/news/684227/

相关文章:

  • 【机械臂】Gluon-2L6-4L3 驱动部署与ROS集成实战
  • 爱奇艺收手吧,外面全是AI
  • 当 AI 开始干活,安全如何破局
  • P9920 学习笔记
  • 2026年茶器销售行业靠谱GEO优化服务商核心能力选型分析报告 - 商业小白条
  • 一文速览最新发布的《CMMI中国2025优秀实践案例集》
  • STC89C52单片机玩转NE555:手把手教你实现一个简易频率计(附完整工程)
  • Day05-MySQL
  • 告别依赖噩梦:用Buildroot一键集成GStreamer到你的ARM-Linux系统镜像
  • 动态规划经典案例分析之编辑距离
  • 2026年3月升降货梯源头厂家推荐,液压货梯/升降平台/升降货梯,升降货梯源头厂家哪家性价比突出 - 品牌推荐师
  • “金三银四”春招大战正酣!2026职场招聘被AI点燃,岗位暴涨12倍,月薪超6万
  • 还在用 Visio 画架构图?这个 AI 神器让你告别手动绘图,5秒出图还能改!
  • 打卡信奥刷题(3150)用C++实现信奥题 P7682 [COCI 2008/2009 #5] TRESNJA
  • 服务型AI设计:从自助陷阱到智能服务革命
  • 2026 热镀锌桥架实测排行:全维度性能解析与工程采购落地指南 - 外贸老黄
  • 竞技性机器学习:核心优势与实战进阶指南
  • LeetCode 2024. 考试的最大困扰度【不定长滑窗】1643
  • 避开STC15定时器的那些坑:从模式选择到中断响应,我的调试笔记
  • 实战解析:基于GD32与ADS1118的高精度数据采集系统搭建
  • 2026 热镀锌桥架综合实力 TOP 测评:全维度品质实测与工程采购实操指南 - 外贸老黄
  • between的用法
  • 单片机控制板基础设计原则
  • 5分钟掌握SMUDebugTool:AMD Ryzen处理器硬件调试实战指南
  • 别再手动复制DLL了!Qt Creator + CMake一键配置OpenCV库(附完整配置流程)
  • LFM2.5-1.2B-Thinking轻量部署:Ollama系统提示词配置,让1.2B小模型发挥大能量
  • [Windows] Mouser v3.5.3第三方罗技鼠标驱动
  • 速看!黄金秘籍解决华为防火墙最困难的故障
  • 新手必看:CTFHub靶场RCE通关保姆级教程(从环境搭建到Flag获取)
  • 2026年AI生成式引擎优化行业梳理:五家值得企业选型参考的AI优化GEO服务商推荐 - 商业小白条