news 2026/8/16 15:46:49

洛谷P1042 P2670 P1563题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷P1042 P2670 P1563题解

洛谷P1042 P2670 P1563题解

作者:爱吃大芒果

个人主页 爱吃大芒果

本文所属专栏 从0到1自学C++

更多专栏

Ascend C 算子开发教程(进阶)
鸿蒙集成
Flutter


P1042

题目链接

题目分析

我们可以使用while循环不断读取输入字符,直到遇到’E’为止。然后我们可以定义一个函数来处理比赛得分的计算。该函数接受一个参数lim,表示比赛的得分上限。在函数中,我们遍历输入的字符串,根据字符’W’和’L’分别增加A队和B队的得分。当任一队的得分达到lim且两队得分差至少为2时,我们输出当前比分并重置得分。最后,在主函数中调用该函数两次,分别传入11和21作为参数。

AC代码

#include<bits/stdc++.h>usingnamespacestd;charc;//存储输入的单个字符string s;//存储输入比赛信息到字符串inta=0,b=0,n;voidfct(intlim){//lim为得分上限for(chari:s){//每次循环,i获取s中的一个字符,对i进行操作if(i=='W')a++;//A队得分加1if(i=='L')b++;//B队得分加1if(max(a,b)>=lim&&abs(a-b)>=2){cout<<a<<':'<<b<<endl;//输出比分a=0,b=0;//重置比分}}printf("%d:%d\n\n",a,b);a=0,b=0;//重置比分}intmain(){while(cin>>c){//while循环读取字符直到遇到'E'if(c=='E')break;s+=c;}fct(11),fct(21);return0;}

P2670

题目链接

题目分析

我们可以使用一个二维数组来表示雷区,并在数组的边界上添加一圈哨兵(例如使用字符’#‘)以简化边界检查。然后,我们遍历雷区的每个单元格,如果该单元格不是雷(即不是’*'),我们就检查它周围的八个方向,统计相邻雷的数量,并将该数量存储在对应的单元格中。最后,我们输出处理后的雷区。

AC代码

#include<bits/stdc++.h>usingnamespacestd;intmain(){constintdx[]={1,1,1,0,0,-1,-1,-1};//八个方向的x坐标变化constintdy[]={-1,0,1,-1,1,-1,0,1};//八个方向的y坐标变化constintmaxn=105;//定义最大行列数charg[105][105];//雷区数组intm,n;cin>>n>>m;for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)cin>>g[i][j];//输入雷区for(inti=1;i<=n;i++){for(intj=1;j<=m;j++)if(g[i][j]!='*'){//如果不是雷intcnt=0;//统计相邻雷的数量for(intk=0;k<8;k++)//遍历八个方向if(g[i+dx[k]][j+dy[k]]=='*')cnt++;//检查相邻的八个方向cout<<cnt;}elsecout<<"*";cout<<endl;}return0;}

P1563

题目链接

题目分析

我们可以使用一个数组来存储每个人的方向,然后使用一个循环来模拟n次操作。在每次操作中,我们根据当前人的方向和操作类型来计算下一个人的位置。最后,我们输出最后一个人的名字。

注意:在模拟n次操作时,我们需要使用取模运算来防止越界。

由于题意不太好理解,以测试样例为例,如图所示:

AC代码

#include<bits/stdc++.h>usingnamespacestd;intmain(){intn,m;cin>>n>>m;vector<int>dir(n);// 0 向左 1 向右vector<string>job(n);//工作for(inti=0;i<n;i++){cin>>dir[i]>>job[i];//输入方向和工作}intcur=0;// 当前所在位置for(inti=0;i<m;i++){inta,s;// a: 操作类型 s: 步数cin>>a>>s;// 输入操作类型和步数if(dir[cur]==0&&a==0){cur=(cur-s+n)%n;// 向左转,s步,取模n防止越界}elseif(dir[cur]==0&&a==1){cur=(cur+s)%n;// 向右转,s步,取模n防止越界}elseif(dir[cur]==1&&a==0){cur=(cur+s)%n;// 向右转,s步,取模n防止越界}elseif(dir[cur]==1&&a==1){cur=(cur-s+n)%n;// 向左转,s步,取模n防止越界}}cout<<job[cur]<<endl;//输出最后一个人的名字return0;}

总结

以上就是洛谷P1042 P2670 P1563题解的全部内容。
希望对你有所帮助。
如果有任何问题,欢迎交流。

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

LAMA模型在视频水印清除中的技术实现深度解析

LAMA模型在视频水印清除中的技术实现深度解析 【免费下载链接】WatermarkRemover 批量去除视频中位置固定的水印 项目地址: https://gitcode.com/gh_mirrors/wa/WatermarkRemover 基于LAMA模型的视频水印清除技术&#xff0c;为内容创作者提供了全新的解决方案。这款开源…

作者头像 李华
网站建设 2026/8/9 9:56:56

终极指南:Joy-Con Toolkit手柄优化工具完全掌握

想要让你的Switch手柄发挥最大潜力吗&#xff1f;Joy-Con Toolkit作为一款功能强大的免费工具&#xff0c;提供了完整的手柄诊断、个性化设置和性能优化解决方案。这款工具能够帮助游戏玩家轻松完成手柄的深度定制和维护&#xff0c;无论是日常使用还是专业调试都能得心应手。 …

作者头像 李华
网站建设 2026/8/16 5:07:29

如何为老旧系统封装API以便与anything-llm对接?

如何为老旧系统封装API以便与anything-llm对接&#xff1f; 在企业数字化转型的浪潮中&#xff0c;一个常见的矛盾逐渐浮现&#xff1a;一边是蓬勃发展的大语言模型&#xff08;LLM&#xff09;和智能知识管理系统&#xff0c;另一边却是仍在支撑核心业务运转的“老古董”信息系…

作者头像 李华
网站建设 2026/7/31 4:35:01

揭秘Open-AutoGLM云机架构:如何实现低延迟、高可用的AI服务?

第一章&#xff1a;揭秘Open-AutoGLM云机架构&#xff1a;低延迟与高可用的AI服务新范式 在现代人工智能服务场景中&#xff0c;Open-AutoGLM云机架构通过创新的分布式调度机制与边缘计算融合策略&#xff0c;实现了毫秒级响应与99.99%的服务可用性。该架构以动态负载感知为核心…

作者头像 李华
网站建设 2026/8/16 0:41:56

Open-AutoGLM 电脑版安装避坑指南:99%新手都会忽略的7个关键步骤

第一章&#xff1a;Open-AutoGLM 电脑版安装前的环境准备与认知误区在部署 Open-AutoGLM 电脑版之前&#xff0c;充分的环境准备和对常见认知误区的澄清至关重要。许多用户误以为该工具可在任意配置的系统上即装即用&#xff0c;实则其运行依赖特定的软硬件条件。环境依赖清单 …

作者头像 李华