人生亦梦


私信TA

用户名:uq_55161405400

访问量:8867

签 名:

追寻强大且简洁的算法解疑,不会有难题,因而我为此痴迷

等  级
排  名 3070
经  验 2049
参赛次数 1
文章发表 25
年  龄 0
在职情况 学生
学  校
专  业 网络空间安全

  自我简介:

菜,并痴迷着; 爱,并奋斗着

解题思路:

注意事项:

参考代码:


//修建地铁的区域可能有重复,传统算法不能实现,

//应用数组0_1代表有树无树两种情况,巧妙处理了

//重复减去的问题

#include<stdio.h>

int main ()

{

int lon,squar,a;

int m,n;       //地铁区域范围

int sum=0;

scanf ("%d %d",&lon,&squar);


    int tree[lon+1];

   //将所有值初始化为1,代表树的总数

   for(int i=0;i<=lon;i++)

   tree[i]=1;

   

   a=squar;

   //将区域内的树消去,即将值变为零

   for(int i=0;i<a;i++)

   {

   scanf ("%d %d",&m,&n);

  

   for(int k=m;k<=n;k++)

   tree[k]=0;   

}

    //累加剩余的树

   for(int i=0;i<=lon;i++)

{

   sum+=tree[i];

}

   printf ("%d",sum);

   return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »