P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒(模拟)

首先,我们自然而然的想到和 P1007独木桥 的机制是一样的,

我们只需要把蚂蚁的相遇并掉头视作互相穿过即可

标记向左,向右蚂蚁的数量 

	for (int i = 0; i < num - 1; i++)
	{
		int temp = 0;
		scanf("%d", &temp);
		// 向右移动
		if (temp > 0) 
			arr[temp] = 1;
		// 向左移动
		else
			arr[abs(temp)] = 2;
	}

 统计右侧向左蚂蚁数量

        左侧向右蚂蚁数量

	int rll = 0;
	for (int i = abs(fir) + 1; i <= 100; i++)
	{
		if (arr[i] == 2) rll++;
	}
	int lrr = 0;
	for (int i = abs(fir) - 1; i >= 0; i--)
	{
		if (arr[i] == 1) lrr++;
	}
	if (fir > 0&&rll == 0||fir<0&&lrr==0)
		printf("1\n");
	else
		printf("%d", rll + lrr + 1);

 n=x+y+1;

or

n=1;

你可能感兴趣的:(#,模拟,蓝桥杯,算法,数据结构)