蚂蚁感冒---第五届蓝桥杯真题
Posted 猪八戒1.0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蚂蚁感冒---第五届蓝桥杯真题相关的知识,希望对你有一定的参考价值。
目录
题目链接
题目描述
分析:
y总真牛逼,掉头等价于穿过,以第一个点为分界点,分别判断
代码:
(自己写的真low)
import java.util.Scanner;
public class Main
static int a[] = new int[105];
static int target, res=1;
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
int N=sc.nextInt();
for(int i=1;i<=N;i++)
int num=sc.nextInt();
//记录第一只感冒蚂蚁
if(i==1) target=num;
//蚂蚁向右
if(num>0) a[num]=1;
//蚂蚁向左
else a[-num]=-1;
//如果第一只感冒蚂蚁向右
if(target>0)
int j=target+1;
//用来计数右边有多少个向左的,只要有一个就行
int m=0;
//右边情况
for(;j<a.length;j++)
if(a[j]<0)
res++;
m++;
//左边情况
for(int k=0;k<target;k++)
if(a[k]>0)
if(m>0)
res++;
//如果第一只感冒蚂蚁向左
else
int j=(-target)+1;
//用来计数左边有多少个向右的,只要有一个就行
int m=0;
//左边情况
for(int k=0;k<j;k++)
if(a[k]>0)
res++;
m++;
//右边情况
for(;j<a.length;j++)
if(a[j]<0)
if(m>0)
res++;
System.out.println(res);
y总综合
666
以上是关于蚂蚁感冒---第五届蓝桥杯真题的主要内容,如果未能解决你的问题,请参考以下文章
算法笔记_111:第五届蓝桥杯软件类省赛真题(Java本科A组)试题解答