问题描述
  长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

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;public class Main {public static int n;public static ArrayList<point> num;public static int count = 1;static class point {public int position;public int id;  public point(int position, int id) {this.position = position;this.id = id;}}class MyComparator implements Comparator<point> {public int compare(point arg0, point arg1) {int a = Math.abs(arg0.position);int b = Math.abs(arg1.position);if(a > b)return 1;else if(a < b)return -1;return 0;}}public void getResult() {int judge = num.get(0).position;Collections.sort(num, new MyComparator());int mid = 0;for(int i = 0;i < num.size();i++) {if(num.get(i).id == 0) {mid = i;break;}}int leftMin = 0, leftMax = 0, rightMin = 0, rightMax = 0;for(int i = 0;i < mid;i++) {if(num.get(i).position < 0)leftMin++;else if(num.get(i).position > 0)leftMax++;}for(int i = mid + 1;i < n;i++) {if(num.get(i).position < 0)rightMin++;else if(num.get(i).position > 0)rightMax++;}for(int i = 0;i < mid;i++) {if(judge > 0 && rightMin > 0 && num.get(i).position > 0)count++;else if(judge < 0 && num.get(i).position > 0)count++;}for(int i = mid + 1;i < n;i++) {if(judge > 0 && num.get(i).position < 0)count++;else if(judge < 0 && leftMax > 0 && num.get(i).position < 0)count++;}}public static void main(String[] args) {Main test = new Main();Scanner in = new Scanner(System.in);n = in.nextInt();num = new ArrayList<point>();for(int i = 0;i < n;i++) {int a = in.nextInt();num.add(new point(a, i));}test.getResult();System.out.println(count);}
}

Java实现 蓝桥杯 历届试题 蚂蚁感冒相关推荐

  1. 蓝桥杯历届试题-蚂蚁感冒

    题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  2. [蓝桥杯][历届试题]蚂蚁感冒(模拟全过程)

    在线测试连接 ** 题目描述 ** 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬 ...

  3. [蓝桥杯][历届试题]蚂蚁感冒(模拟)

    题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂 ...

  4. [蓝桥杯][历届试题]蚂蚁感冒

    http://www.dotcpp.com/oj/problem1454.html 题目描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1 ...

  5. 蓝桥杯历届试题——蚂蚁感冒(模拟)

    1.题目描述 2.输入输出 3.输入输出样例 4.解题思路 首先对于本题,有一个更高层的抽象:题目中说到两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行.其实这就等同于两只蚂蚁互相路过继续沿杆方向前进, ...

  6. Java实现蓝桥杯历届试题兰顿蚂蚁

    历届试题 兰顿蚂蚁 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其 ...

  7. 【Java】蓝桥杯历届试题 题解

    历届试题 PREV-1 核桃的数量 历届试题 PREV-2 打印十字图 历届试题 PREV-3 带分数 历届试题 PREV-4 剪格子 历届试题 PREV-5 错误票据 历届试题 PREV-6 翻硬币 ...

  8. Java实现 蓝桥杯 历届试题 核桃的数量

    历届试题 核桃的数量 时间限制:1.0s 内存限制:256.0MB 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).他的 ...

  9. Java实现 蓝桥杯 历届试题 带分数

    问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. 注意特征:带分数中,数字1~9分别出现且只出现一次( ...

最新文章

  1. WINDOWS SERVER 2003从入门到精通之配置DHCP服务器(上)
  2. new一个新对象的时候,各属性方法的操行顺序
  3. Android自定义泡泡效果 源码
  4. Q:一个经典的helloworld程序需要几个文件?
  5. Visual Studio 2008中常用快捷键
  6. 什么?你做的差异基因方法不合适?
  7. 1900页Python系列PPT分享六:面向对象程序设计(86页)
  8. ios 旋转屏幕试图切换_总结iOS App开发中控制屏幕旋转的几种方式
  9. Spark系列(三)SparkContext分析
  10. C/C++[codeup 1931]打印日期,一年的第n天是几月几号
  11. max3232ese_【MAX3232ESE+ PDF数据手册】_中文资料_引脚图及功能_(美信 Maxim Integrated)-采芯网...
  12. 链路追踪Skywalking保姆级安装教程
  13. 24小时改变你的人生 (1至12小时)很好的书,推荐大家有时间在网上看看。
  14. python勒索病毒代码_勒索病毒GandCrab-v5.04完整分析
  15. 硬盘分区表错误与解决办法
  16. 使用tushare获取美股月收盘价
  17. 洛谷-P1125-笨小猴
  18. web前端从学习到学废
  19. [BZOJ3054] Rainbow的信号(考虑位运算 + DP?)
  20. javascript面试题(javaScript面试题)

热门文章

  1. 01背包问题:图表法带你快速理解动态规划解决01背包问题 附C++源码
  2. 基于ARM的嵌入式Bootloader实现自动升级
  3. 什么是CSRF攻击,如何防范CSRF攻击?
  4. Notion待办如何自动同步滴答清单
  5. hive explode 使用
  6. android8 小米5s,小米5s终于迎来安卓8.0了!
  7. cnblog,我来了。
  8. 盒马鲜生创意总监做客阿里双创平台,首度解析“河马”品牌设计的前世今生
  9. 【鉴权/授权】基于角色的简单授权认证
  10. 电商用户行为分析大数据平台