您的位置:首页 > 其它

蓝桥杯往届试题——蚂蚁感冒(思维题目)

2016-03-03 10:21 387 查看
本题是一道简单的思维题目,可以把蚂蚁视作穿行,具体是这样的,假如两个蚂蚁碰了头,他们会反向,他们两个都会感冒,可以视作他们没有反向,而且他们互相从彼此的身体里穿了过去(想象一下有点邪恶)

下面附上AC代码。

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int num;
int a[50];
int sumleft=0,sumright=0;
int sum=0;
cin>>num;
for(int i=0;i<num;i++)
{
cin>>a[i];
}
for(int i=1;i<num;i++)
{
if(a[i]<0&&abs(a[i])>abs(a[0]))//在第一个蚂蚁的【右面】向左移动的蚂蚁数量
sumright++;
if(a[i]>0&&abs(a[i])<abs(a[0]))//在第一个蚂蚁的【左面】向右移动的蚂蚁数量
sumleft++;
}
if(a[0]>0&&sumleft==0||a[0]<0&&sumright==0)
sum= 1;
else
sum= sumleft + sumright + 1;

cout<<sum<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: