问题描述
  长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。

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

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

  这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

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

输入格式
  第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。

  接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。其中,第一个数据代表的蚂蚁感冒了。

输出格式
  要求输出1个整数,表示最后感冒蚂蚁的数目。
样例输入
3
5 -2 8
样例输出
1
样例输入
5
-10 8 -20 12 25
样例输出
3
说明:关键就是如果两只蚂蚁相遇,然后题目中说是互相掉头返回走,其实就是可以理解为两只蚂蚁一直按照同一方向走,不存在相撞掉头的情况,因为如果两只蚂蚁都不感冒,那么其实就是可以理解为两只蚂蚁掉头其实就是相当于两只蚂蚁继续往右走,所以如果有一只蚂蚁感冒,相遇,就会使得两只都感冒,也就是在最初的那只感冒的蚂蚁基于按照同一方向走,然后多了一直向反方向走的蚂蚁,这样理解题目就简单了。
解题中,就按照初始蚂蚁的位置划分左右,然后如果初始蚂蚁向右,那么这个蚂蚁的位置的右边的所有向左走的蚂蚁都要感冒,而只要这个蚂蚁右边有一只是向左的(记做A蚂蚁),那么这个第一只蚂蚁的左边的所有向右的蚂蚁都感冒,因为有了A蚂蚁。所以还有一种情况是没有A蚂蚁的存在,那么就只有1只了
import java.util.*;public class Main
{public static void main(String args[]){int L=0,R=0;  Scanner cn=new Scanner(System.in);int n=cn.nextInt();int []kk=new int[n+1];for(int i=1;i<=n;i++)kk[i]=cn.nextInt();for(int i=2;i<=n;i++){if(kk[1]>0){if(Math.abs(kk[1])<Math.abs(kk[i])&&kk[i]<0)R++;if(Math.abs(kk[1])>Math.abs(kk[i])&&kk[i]>0)L++;}else{if(Math.abs(kk[1])<Math.abs(kk[i])&&kk[i]<0)R++;if(Math.abs(kk[1])>Math.abs(kk[i])&&kk[i]>0)L++;}}if(L!=0||R!=0)System.out.println(R+L+1);else System.out.println(1);}}

java 蓝桥杯 蚂蚁感冒相关推荐

  1. [蓝桥杯] 蚂蚁感冒

    [蓝桥杯] 蚂蚁感冒 峰值内存消耗 < 256M CPU消耗  < 1000ms [题目描述 - Problem Description] 长100厘米的细长直杆子上有n只蚂蚁.它们的头有 ...

  2. 有意思的逻辑思维题(三)(hdu2211,蓝桥杯蚂蚁感冒)

    杀人游戏 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2211 题目描述: 现在已知有N个土匪站在一排,每个土匪都有一个编号,从1到N,每次杀人时给 ...

  3. 蓝桥杯.蚂蚁感冒(模拟)

    Question: Solve: 当想不到办法的时候,暴力模拟就是最好的办法~ 既然是要走杆,那就一步一步走,一步一步的判断,等蚂蚁全部出界之后再统计一下有多少感染就行,这个思路非常平易近人 接下来明 ...

  4. 蓝桥杯 蚂蚁感冒 不要模拟!

    蚂蚁感冒 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/ ...

  5. 蓝桥杯 蚂蚁感冒(Java)

    解题思路:根据第一个感冒蚂蚁的行驶方向,分为两种情况(向左,右),如果他朝右走,则在他右边有朝左走的蚂蚁必然都会被传染(如果右边没有向左的蚂蚁,则不会有蚂蚁被传染,直接输出结果),此时在它右边的不必再 ...

  6. 标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯

    蓝桥杯日期问题常考,java提供了日期类很方便: //日历类 Calendar c = Calendar.getInstance(); // 获取实例化对象 Date date =c.getTime( ...

  7. java蓝桥杯练习 学做菜

    java蓝桥杯练习 学做菜 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜, ...

  8. java蓝桥杯练习 蜜蜂飞舞

    java蓝桥杯练习 蜜蜂飞舞 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 "两只小蜜蜂呀,飞在花丛中呀--" 话说这天天上飞舞着两只蜜蜂,它们在跳一种奇怪的舞 ...

  9. Java 蓝桥杯 我们的征途是星辰大海

    Java 蓝桥杯 我们的征途是星辰大海 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表空地,curiosity可以穿过它 '#' 代 ...

最新文章

  1. Java界面命名_java中用setTitel和JFrame给窗体命名的区别
  2. Linux下修改Mysql的用户(root)的密码
  3. linux 修改系统时间和时区
  4. pytorch实现人脸表情识别
  5. 分分合合分分,谷歌医疗走向大败退
  6. java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用...
  7. 二分查找递归、非递归实现(Python)
  8. 仿真软件计算机配置,电脑配置关于ANSYS等仿真软件,AMDcpu可选择吗?
  9. 图的深度优先遍历和广度优先遍历算法流程图
  10. 计算机房的正常温度和湿度,机房的温度、湿度标准值是多少?
  11. java applet介绍,applet java 介绍
  12. 飞马D200S无人机与机载激光雷达在大比例尺DEM建设中的应用
  13. 111完美邮箱品牌域名——数字域名111.com
  14. 常用软件测试工具 ,赶紧收藏
  15. readxl包导入excel报错Error: `path` does not exist解决方法
  16. PAT甲级Invert a Binary Tree 柳神层序遍历的思路值得借鉴
  17. 这4个正经的网站,能看片还能涨知识!
  18. Win32-子窗口-父窗口-窗口所有者
  19. FileCounter文件统计小工具
  20. 轻松玩转AI(从Python开始之Python3入门)

热门文章

  1. 黑马程序员—C#多线程
  2. nvim 的编译与安装
  3. 五款开源图像处理软件
  4. 被final修饰的部分变量后依然可以被修改
  5. Java教程:如何对接自定义钉钉机器人并实现群聊消息发送
  6. 重启计算机关闭账户,电脑开机重启提示您的账户已被停用怎么办
  7. 【微信小程序经验】各类图表相关组件+Demo源码(折线图,柱状图,K线,分时图)
  8. 实现群辉NAS免端口访问教程
  9. 2022年国自然正式放榜,如何解读基金立项结果?(附查询方法)
  10. 计算机在生活中的应用论文2000字,浅议计算机在生活中的应用论文(2)