蓝桥杯 历届试题 蚂蚁感冒

    xiaoxiao2021-12-14  20

    分析: (1)因为只计算数量,所以蚂蚁是掉头还是直接向前走对本题没有影响 (2)如果感冒的蚂蚁方向向左:               在它左边的蚂蚁:如果向右,则会感染;如果向左则不会感染               在它右边的蚂蚁:如果向右,则不会感染                                              如果向左:(1)如果感冒的那只蚂蚁左边有向右的蚂蚁,他会掉头,则右边向左的蚂蚁会感冒                          (2)如果感冒的那只蚂蚁左边没有向右的蚂蚁,感冒的这只蚂蚁会一直向前走,右边的所有每一只蚂蚁不会感冒 (3)同理该蚂蚁向右

    总结:找出左边向右,右边向左的蚂蚁数量,若该蚂蚁向右判断右边是否有向左的蚂蚁,如果该蚂蚁向左,判断左边是否有向右的蚂蚁

    #include<iostream> #include<cmath> using namespace std; #define MAX 50 int ant[MAX]; int main() { int n; cin>>n; int left=0,right=0; for (int i=0;i<n;i++){ cin>>ant[i]; } int h=abs(ant[0]); for (int i=1;i<n;i++) { if (ant[i]>0&&abs(ant[i])<h) left++; else if (ant[i]<0&&abs(ant[i])>h) right++; } if ((left==0&&ant[0]>0)||(right==0&&ant[0]<0)) cout<<1<<endl; else cout<<left+right+1<<endl; return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-963168.html

    最新回复(0)