目录
题目链接
题目描述
分析:
代码:
y总综合
666
题目链接
1211. 蚂蚁感冒 - AcWing题库
题目描述
分析:
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