蚂蚁感冒(简单数论)

news2025/1/31 11:03:59

长 100 厘米的细长直杆子上有 n 只蚂蚁。

它们的头有的朝左,有的朝右。

每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒。

当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

这些蚂蚁中,有 1 只蚂蚁感冒了。

并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。

输入格式

第一行输入一个整数 n, 表示蚂蚁的总数。

接着的一行是 n 个用空格分开的整数 Xi, Xi 的绝对值表示蚂蚁离开杆子左边端点的距离。

正值表示头朝右,负值表示头朝左,数据中不会出现 0 值,也不会出现两只蚂蚁占用同一位置。

其中,第一个数据代表的蚂蚁感冒了。

输出格式

输出1个整数,表示最后感冒蚂蚁的数目。

数据范围

1<n<50,

0<|Xi|<100

输入样例1:

3
5 -2 8

输出样例1:

1

输入样例2:

5
-10 8 -20 12 25

输出样例2:

3

核心思想:虽然题目给的意思蚂蚁相撞之后会掉头,但由于蚂蚁相撞之后的速度和状态都一样,因此可以看作穿过去了,这样之后就很好分析了,如下图

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=55;
int arr[N];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++) cin>>arr[i];
    int right=0,left=0;//分别表示在感染蚂蚁的左边往右走 和 在右边往左走的蚂蚁数量
    for(int i=1;i<n;i++)
    {
        if(abs(arr[i])<abs(arr[0])&&arr[i]>0) left++;//abs函数表示取绝对值
        else if(abs(arr[i])>abs(arr[0])&&arr[i]<0) right++;
    }
    if((arr[0]<0&&left==0)||(arr[0]>0&&right==0)) cout<<"1"<<endl;
    else cout<<left+right+1<<endl;
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/396544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译错误:rpcndr.h(192,14): error C2872: “byte”: 不明确的符号

Windows上使用C11 编译出现错误1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\rpcndr.h(192,14): error C2872: “byte”: 不明确的符号1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\rpcndr.h(191,23): message : 可…

第十章 opengl之光照(投光物)

OpenGL投光物平行光点光源衰减聚光平滑/软化边缘投光物 当前光线都是来自空间的一个点。但实际&#xff0c;我们有很多种类的光照&#xff0c;将光投射到物体的光源叫做投光物。需要讨论几种不同类型的投光物。大致为&#xff1a;定向光&#xff0c;点光源&#xff0c;聚光等 …

Shell编程:轻松掌握入门级Shell脚本,成为Shell高手

文章目录前言一. 实验环境二. shell基础入门精讲2.1 什么是shell脚本&#xff1f;2.2 shell的种类2.3 脚本案例2.3.1 打印 hello-word案例2.3.2 统计指定目录下的文件数和目录数2.4 shell脚本编写规范总结前言 &#x1f3e0;个人主页&#xff1a;我是沐风晓月 &#x1f9d1;个人…

微服务架构(小白教学1)

相信大家吃饭的时候肯定是很苦恼打饭之慢&#xff0c;在自己饥肠辘辘的时候&#xff0c;面对自己喜欢吃的食物窗口却如同有百万大军虎视眈眈&#xff0c;自己内心的煎熬可想而知有时候在想这么美味的食物&#xff0c;为什么窗口就只开一个呢&#xff1f;于是你告诉了你的爸爸&a…

浅谈运维工程师的开发能力的培养

写在前面 本文已获得作者授权&#xff0c;作者的博客地址&#xff1a;https://www.cuiliangblog.cn/ 原文链接&#xff1a;浅谈运维工程师的开发能力的培养 一、运维工程师发展路线 1. 传统运维 侧重点是解决具体的问题。要求具备扎实的底层的知识储备&#xff0c;如网络、l…

安卓 Frament + ViewPager使用示例

1. 组成架构 整个架构被包在一个外部Fragment之中&#xff0c;也可以放在一个Activity之中&#xff0c;随意。外部的fragment包含了两个组件&#xff0c;即途中的ViewPager和TabLayoutViewPager要套上一个FragmentStatePagerAdapter &#xff0c;适配器负责new出一个个fragment…

基于Jetson NX的模型部署

系统安装 系统安装过程分为3步&#xff1a; 下载必要的软件及镜像 Jetson Nano Developer Kit SD卡映像 https://developer.nvidia.com/jetson-nano-sd-card-image Windows版SD存储卡格式化程序 https://www.sdcard.org/downloads/formatter_4/eula_windows/ 镜像烧录工具…

嵌入式C语言九大数据结构操作方式详解

在C语言的开发过程中&#xff0c;灵活使用数据结构&#xff0c;对提高编程效率有极大的帮助。 目录 1 数组 2 链表 3 跳表 4 栈 5 队列 6 树 7 堆 8 散列表 9 图 10 总结 数据结构想必大家都不会陌生&#xff0c;对于一个成熟的程序员而言&#xff0c;熟悉和掌握数据…

【C++、C++11】列表初始化、右值引用

文章目录&#x1f4d6; 前言1. 统一的列表初始化1.1 { } 花括号初始化&#xff1a;1.2 std::initializer_list&#xff1a;2. 右值引用2.1 什么是左值和右值&#xff1a;2.2 右值的分类&#xff1a;2.3 左值引用和右值引用的比较2.3 右值的使用场景&#xff1a;2.4 新的类功能&…

SpringBoot整合Quartz以及异步调用

文章目录前言一、异步方法调用1、导入依赖2、创建异步执行任务线程池3、创建业务层接口和实现类4、创建业务层接口和实现类二、测试定时任务1.导入依赖2.编写测试类&#xff0c;开启扫描定时任务3.测试三、实现定时发送邮件案例1.邮箱开启IMAP服务2.导入依赖3.导入EmailUtil4.编…

为「IT女神勋章」而战

大家好&#xff0c;我是空空star&#xff0c;今天为「IT女神勋章」而战 文章目录前言一、IT女神勋章二、绘制爱心1.htmlcssjs来源&#xff1a;一行代码代码效果2.python来源&#xff1a;C知道代码效果3.go来源&#xff1a;复制代码片代码效果4.java来源&#xff1a;download代码…

游戏算法-游戏AI状态机,python实现

AI概述 游戏AI是对游戏内所有非玩家控制角色的行为进行研究和设计&#xff0c;使得游戏内的单位能够感知周围环境&#xff0c;并做出相应的动作表现的技术。游戏AI作为游戏玩法的一大补充&#xff0c;在各种游戏中都有广泛的应用&#xff0c;比如可以和玩家交互聊天的NPC&#…

用户体验设计—影响定制化设计的因素

0 前言最近在上信息构建这门课&#xff08;名为信息构建&#xff0c;但感觉叫用户体验设计更好。。。&#xff09;老师是研究信息行为、人智交互这块的&#xff0c;所以实验课要求我们先学习一个实际的设计案例&#xff0c;让我们搞懂影响定制化设计的因素。所以这篇文章讲讲我…

七色电子标签

机种名 电子会议桌牌 型号 ESL_7color_7.3_D 外观尺寸 176.2x137.15x80mm 产品重量 268g 可视区域 163.297.92mm 外观颜色 银色 供电方式 锂电池供电2300mAh&#xff08;Type-C 接口可充电&#xff09; 显示技术 E-INK电子纸&#xff0c;双屏 像素 800x480 像…

ByteTrack: Multi-Object Tracking by Associating Every Detection Box 论文详细解读

ByteTrack: Multi-Object Tracking by Associating Every Detection Box 论文详细解读 文章目录ByteTrack: Multi-Object Tracking by Associating Every Detection Box 论文详细解读ByteTrackByteTrack算法简介ByteTrack算法流程ByteTrack算法描述一&#xff1a;对检测框进行分…

SOA架构的理解

1. SOA概述 SOA&#xff08;Service-Oriented Architecture&#xff0c;面向服务的架构&#xff09;是一种在计算机环境中设计、开发、部署和管理离散模型的方法。SOA不是一种新鲜事物&#xff0c;它是在企业内部IT系统重复构建以及效率低下的背景下提出的。在SOA模型中&#x…

Nexus 3 清理docker镜像

该文章提供了一种清理nexus3中存储的docker镜像的一种新思路 查看docker repo 比如你的docker repo名字叫做test-repo&#xff0c;然后在nexus3首页的seatch下面找到docker&#xff0c;点进去随便查看一个已经上传的镜像 记住上面的Name选项&#xff0c;之后要用到 设定清理…

centos7 oracle19c安装||新建用户|| ORA-01012: not logged on

总共分三步 1.下载安装包:里面有一份详细的安装教程 链接&#xff1a;https://pan.baidu.com/s/1Of2a72pNLZ-DDIWKrTQfLw?pwd8NAx 提取码&#xff1a;8NAx 2.安装后,执行初始化:时间较长 /etc/init.d/oracledb_ORCLCDB-19c configure 3.配置环境变量,不配置环境变量,sq…

【Linux快速入门】文件目录操作

文章目录概念1. Linux文件系统概述2. Linux文件目录结构3. Linux文件和目录操作3.1 文件操作3.1.1 创建文件3.1.2 复制文件3.1.3 移动文件3.1.4 删除文件3.1.5 查看文件3.1.6 输出指令3.1.7 >和>>指令3.2 目录操作3.2.1 创建目录3.2.2 复制目录3.2.3 移动目录3.2.4 删…

Lesson 8.3 ID3、C4.5 决策树的建模流程 Lesson 8.4 CART 回归树的建模流程与 sklearn 参数详解

文章目录一、ID3 决策树的基本建模流程二、C4.5 决策树的基本建模流程1. 信息值&#xff08;information value&#xff09;2. C4.5 的连续变量处理方法三、CART 回归树的基本建模流程1. 数据准备2. 生成备选规则3. 挑选规则4. 进行多轮迭代5. 回归树的预测过程四、CART 回归树…