P1580 yyy loves Easter_Egg I【洛谷算法习题】
P1580 yyy loves Easter_Egg I网页链接P1580 yyy loves Easter_Egg I题目背景Soha 的出题效率着实让人大吃一惊。OI数学化学的题目都出好了物理的题还没有一道。于是Huntfireabsi2011redbag 对 soha 进行轮番炸准备炸到 soha 出来不料人群中冲出了个 kkksc03……题目描述yyy loves OIHuntfireyyy loves Mathsredbagyyy loves Chemistryabsi2011对 yyy loves Physicssoha进行轮番炸轰炸按照顺序进行顺序为 Huntfireredbagabsi2011。现在这一题中我们不考虑太复杂的队形形式。我们认为只要这一句内含有且恰好含有一次的人和上一句话一样就算为队形。比如以下也视为队形yyy loves OI : yyy loves Microelectronicyyy loves Maths : yyy loves Microelectronic 我佩服soha的出题效率yyy loves OI : yyy loves Microelectronic 1yyy loves Chemistry : 1 yyy loves Microelectronic若 的人与第一个人不同就算队形被打破。若这个人在队形被打破之前出来发言了或者就是他打破队形了就算油炸成功了。若油炸成功输出Successful 某某某 attempt若队形被破坏先输出Unsuccessful 某某某 attempt再输出队形第一次被破坏的行数与第一次破坏队形的人的id \text{id}id。如果队形一直没被打破就先输出Unsuccessful 某某某 attempt再输出队形的长度最后输出Good Queue Shape。p.s.yyy loves Microelectronic 是 kkksc03输入格式N NN行为轰炸开始后的一段消息记录每行一条消息。消息格式「消息发送者:消息内容」每行消息长度不超过1000 10001000。中文用拼音代替输出格式若油炸成功输出Successful 某某某 attempt若队形被破坏第一行输出Unsuccessful 某某某 attempt接下来一行输出队形第一次被破坏的行数第三行输出第一次破坏队形的人的id \text{id}id。如果队形一直没被打破就先输出Unsuccessful 某某某 attempt再输出队形的长度最后输出Good Queue Shape。输入输出样例 #1输入 #1yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Microelectronic : ni men wu liao me yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv输出 #1Unsuccessful yyy loves Physics attempt 4 yyy loves Microelectronic输入输出样例 #2输入 #2yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves OI : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Maths : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Chemistry : yyy loves Physics wo pei fu ni de chu ti xiao lv yyy loves Physics : ni men gou le输出 #2Successful yyy loves Physics attempt说明/提示yyy loves Physics 我佩服你的出题效率此题仅吐槽 soha纪念出题者的队形此队形长达91 9191行。对于100 % 100\%100%的数据,每行消息长度≤ \le≤10 3 10^3103。保证行数不超过5 × 10 4 5\times 10^45×104保证输入文件大小不超过4 MB 4\text{MB}4MB保证第一个说话的一定在 某人保证大家的名字都是yyy loves *** \text{yyy loves ***}yyy loves ***的格式保证每个人说的话中没有:保证第一个说话的一定艾特了一个人且只 了一个人保证第一个说话的一定不会艾特自己保证文件结束一定有一行空行方便你判定文件结束并不保证后面说话的艾特了几个人 然而艾特人数不为一个人视为破坏队形并不保证后面说话是否会反复艾特同一个人并不保证被炸的人一定破坏队形并不保证这一题是或不是压轴题并不保证这一套比赛存在压轴题并不保证下一套比赛和这一套比赛一样水并不保证群里除了这4 44个人和 kkksc03 以外没有别人了并不保证你没 AC 这题的情况下吐槽 soha 不会出事儿AC 了可以吐槽 soha 一句soha 不会介意。解题思路本题是一个字符串匹配与协议检查的模拟问题要求根据给定的消息记录判断“轰炸队形”是否被遵守以及是否成功炸出目标人物。核心在于逐行解析每条消息的发送者、数量与对象并与第一行的“目标人物”进行比对按照规则输出对应结果。1. 规则抽象队形发起第一条消息必定包含恰好一个 的人即为“目标人物”设为target之后的每一条消息需保持队形。队形保持条件消息中恰好出现一次该的人与target完全一致。终止条件炸成功在队形被破坏之前target本人发言无论发言内容是否含只要发送者是target队形破坏某条消息的发送者不是target但消息不符合队形保持条件无、多个或的人不是target自然结束输入读完遇到空行仍未出现以上两种情况。输出要求炸成功输出Successful target attempt队形破坏输出Unsuccessful target attempt破坏行号破坏者 ID自然结束输出Unsuccessful target attempt队形持续行数Good Queue Shape。2. 算法实现读取并解析首条消息找到的位置提取其后的连续非空格字符串作为target。逐行处理后续消息行号从 2 开始累计获取发送者sender冒号前的字符串去掉冒号前可能存在的空格。若sender target直接输出成功信息并结束。查找的位置若无则队形破坏输出破坏信息当前行号与sender并结束。若有提取后的人名mention并临时屏蔽该后再检查是否还有。若存在多个或mention ! target队形破坏输出破坏信息并结束。读完仍未终止输出自然结束信息队形行数为总行数追加Good Queue Shape。3. 复杂度分析时间复杂度每行消息长度≤ 1000 \le 1000≤1000最多5 × 10 4 5\times 10^45×104行每条消息的扫描和子串操作均为O ( l e n ) O(len)O(len)总体O ( 总字符数 ) ≈ 5 × 10 7 O(\text{总字符数}) \approx 5\times 10^7O(总字符数)≈5×107在限制内可轻松完成。空间复杂度仅需存储当前行字符串和少量变量O ( 1 ) O(1)O(1)额外空间。总结逐行模拟严格按规则检查发送者、次数与对象。边界情况目标本人发言、无、多、错人均在逐行分析中覆盖最终根据不同条件输出对应格式的结果。代码简要说明getnm(p)函数从字符串位置p之后提取的人名以空格为界。init()函数读取第一行定位并提取target存入全局变量nm。主循环读取一行若为空或长度≤ 1 \le 1≤1则退出循环解析发送者cur和的位置若发送者为target成功退出若无破坏退出否则提取对象判断是否唯一且匹配target不满足则破坏退出。正常退出输出Unsuccessful、总行数、Good Queue Shape。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;string s,t,nm;ll l;voidgetnm(ll p){boolf0;ll cnt0;for(ll ip11;il;i){if(s[i] ){cnti-p-1;break;}}ts.substr(p1,cnt);}voidinit(){getline(cin,s);s[s.size()-1] ;ll ps.find();ls.size();getnm(p);nmt;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);init();ll ql1;while(getline(cin,s)s.size()1){ql;s[s.size()-1] ;ls.size();ll ps.find();ll p2s.find(:);string curs.substr(0,p2-1);if(nmcur){coutSuccessful nm attemptendl;return0;}if(p-1){if(nmcur){coutSuccessful nm attemptendl;return0;}else{coutUnsuccessful nm attemptendl;coutqlendl;coutcurendl;return0;}}else{getnm(p);s[p].;if(s.find()!-1||t!nm){ll p2s.find(:);string curs.substr(0,p2-1);coutUnsuccessful nm attemptendl;coutqlendl;coutcurendl;return0;}}}coutUnsuccessful nm attemptendl;coutqlendl;coutGood Queue Shapeendl;return0;}

相关新闻

K3s单节点K8S集群部署指南与优化实践

K3s单节点K8S集群部署指南与优化实践

1. K3s单节点K8S集群部署概述 K3s作为轻量级Kubernetes发行版,已经成为开发者本地测试和小型生产环境的首选方案。相比标准K8S动辄需要多台服务器的资源消耗,K3s单节点方案仅需1台2核4G配置的机器即可运行完整集群功能。我在2026年3月最新测试中验证&…

2026/8/13 10:00:52 阅读更多 →
AI如何自动识别招标控制价与报价边界如何检查废标风险?智能评审项目实

AI如何自动识别招标控制价与报价边界如何检查废标风险?智能评审项目实

这里写自定义目录标题欢迎使用Ma rkdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个…

2026/8/13 9:59:52 阅读更多 →
江苏移动宽带隐藏套餐办理攻略:日均8毛免安装费实战指南

江苏移动宽带隐藏套餐办理攻略:日均8毛免安装费实战指南

这次我们来看一个关于江苏地区宽带办理的实用攻略。如果你正在江苏地区考虑办理宽带,特别是对移动宽带感兴趣,想找到性价比高、隐藏的优惠套餐,避免被“安装费”、“光猫费”等额外支出困扰,那么这篇文章值得你仔细阅读。我们将直…

2026/8/13 9:59:52 阅读更多 →

最新新闻

PE、PB、ROE三大核心财务指标深度解析与实战应用指南

PE、PB、ROE三大核心财务指标深度解析与实战应用指南

1. 项目概述:为什么这三个指标是投资者的“体检报告”? 干了十几年投资分析,我越来越觉得,看一家公司就像给人做体检。你不能光听他说自己身体倍儿棒,你得看化验单上的关键指标。在证券交易这个领域,市盈率…

2026/8/13 10:49:16 阅读更多 →
张益唐、韦东奕、王虹、邓煜四位数学家的核心学术成果对比表

张益唐、韦东奕、王虹、邓煜四位数学家的核心学术成果对比表

以下是王虹、邓煜、张益唐、韦东奕四位数学家的核心学术成果对比,覆盖研究方向、标志性突破、行业影响力等核心维度: 一、四人核心学术成果分述 1、王虹 (1)、核心研究方向‌: 调和分析、卡克亚猜想相关领域 &#…

2026/8/13 10:49:16 阅读更多 →
母线槽伸缩节的使用场景,热胀冷缩该如何做结构补偿

母线槽伸缩节的使用场景,热胀冷缩该如何做结构补偿

金属导体与铝合金外壳都会随温度发生伸缩变化。母线槽线路敷设距离越长,累积的伸缩量就越大。若整条线路全部刚性固定,没有设置补偿结构,温度变化产生的应力会作用在接头单元,挤压接头,造成接触面偏移,弹簧…

2026/8/13 10:49:16 阅读更多 →
系统间歇性故障排查实战:从日志追踪到乐观锁优化的全链路解决方案

系统间歇性故障排查实战:从日志追踪到乐观锁优化的全链路解决方案

最近在项目开发中,遇到一个看似简单却让团队反复“卡壳”的问题:一个核心服务在特定场景下会间歇性失败,日志里只有一句模糊的“操作未完成”。排查过程就像在黑暗中摸索,一度让人感到挫败。但正如我们常说的, “还不…

2026/8/13 10:49:16 阅读更多 →
Docker容器中文乱码问题:从Locale配置到UTF-8支持的完整解决方案

Docker容器中文乱码问题:从Locale配置到UTF-8支持的完整解决方案

1. 问题缘起:当容器世界遇上中文字符最近在折腾一个需要处理中文数据的项目,环境是Docker容器。本来以为把应用打包进去就万事大吉,结果一运行,日志里全是问号“???”,从数据库读出来…

2026/8/13 10:49:16 阅读更多 →
LangChain记忆模块实战:从对话历史到Redis持久化与智能体集成

LangChain记忆模块实战:从对话历史到Redis持久化与智能体集成

1. 项目概述:为什么大模型需要“记忆”? 聊到大模型,很多人第一反应是它很聪明,能写诗、能编程、能回答问题。但如果你跟它多聊几句,尤其是聊一个复杂的话题,比如让它帮你规划一个旅行行程,你可…

2026/8/13 10:48:15 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →