zoukankan      html  css  js  c++  java
  • 蓝桥杯---蚂蚁感冒(水题)

    问题描述
      长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。

      每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。

      当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。

      这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。

      请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。
    输入格式
      第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数。

      接着的一行是n个用空格分开的整数 Xi (-100 < Xi < 100), Xi的绝对值,表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,负值表示头朝左,数据中不会出现0值,也不会出现两只蚂蚁占用同一位置。其中,第一个数据代表的蚂蚁感冒了。
    输出格式
      要求输出1个整数,表示最后感冒蚂蚁的数目。
    样例输入
    3
    5 -2 8
    样例输出
    1
    样例输入
    5
    -10 8 -20 12 25
    样例输出
    3

    思路很简单,如果带病毒的蚂蚁向右,那么只要统计向左的并且坐标大于病毒蚂蚁和向右并且坐标小于病毒蚂蚁的就好了。
    不过注意一下5  3 6 7 8 9 这样的特殊情况的讨论。。。
    #include <stdio.h>
    #include <iostream>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    struct T{
    	int dir,loc;
    }str[50];
    int main()
    {
        int n,temp,i=0;
        cin>>n;
        
        cin>>temp;//输入第一个有病毒的蚂蚁 
       	temp>0?str[i].dir=1:str[i].dir=-1;
       	str[i].loc=abs(temp);
        
        for(i=1;i<n;i++){
            cin>>temp; 
         	temp>0?str[i].dir=1:str[i].dir=-1;
         	str[i].loc=abs(temp);
        }
        int count=1;
        //cout<<str[0].dir<<endl;
        if(str[0].dir>0){//查看是否满足特殊情况,如果是特殊处理
        	for( i=1;i<n;i++)
               if(str[i].loc>str[0].loc&&str[i].dir<0)
                  break;
            if(i==n){  cout<<count;return 0;}
        }
        else{
        	for( i=1;i<n;i++)
               if(str[i].loc<str[0].loc&&str[i].dir>0)
                  break;
            if(i==n){  cout<<count<<endl;return 0;}
        }
    	for(i=1;i<n;i++){
    	       if(str[i].loc>str[0].loc&&str[i].dir<0)
    	          count++;	
    	       else if(str[i].loc<str[0].loc&&str[i].dir>0)
    	          count++;	          
        }
         cout<<count;   
       return 0;
    }
    


  • 相关阅读:
    windows CMD大全
    算法导论(一):渐进记号
    数据结构之树
    Python读取文件内容与存储
    Python绘图的颜色设置
    Python中多个列表与字典的合并方法
    Pandas之Dataframe叠加,排序,统计,重新设置索引
    数据挖掘——聚类算法(一)
    WPF学习————制作时钟
    Opencv Sharp 基于灰度模板的多目标匹配
  • 原文地址:https://www.cnblogs.com/zswbky/p/5431961.html
Copyright © 2011-2022 走看看