P1047 校门外的树 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是11米。我们可以把马路看成一个数轴,马路的一端在数轴00的位置,另一端在LL的位置;数轴上的每个整数点,即0,1...

#include<stdio.h>  
  
int main()  
{  
    int L, M, i, j, n;  
    int a[10001], b[10001];  
    scanf("%d %d",&L, &M);   //输入L和M  
    n = M*2;      //循环输入b数组0~n的数据  
    for(i=0; i<n; i+=2)  
    {  
        scanf("%d %d", &b[i], &b[i+1]);  
    }  
    for(i=0; i<=L; i++)     //循环给a数组L个元素赋值  
    {  
        a[i] = i;  
    }  
    int r, s;  
    for(i=0; i<n; i+=2)  //遍历访问数组b的各个区间  
    {  
        r = b[i];   //区间起始点  
        s = b[i+1]; //区间终点  
        for(j=r; j<=s; j++) //把数组b各个区间内元素在数组a中映射为0  
        {  
            a[j] = -1;  
        }  
    }  
    int k=0;    //k用来统计不是0的个数,k赋值为1(数组a中原本包含一个0,此时加上)  
    for(i=0; i<=L; i++)  
    {  
        if(a[i] != -1)  
        {  
            k++;    //用来统计非0的个数,即不在数组b区间内的数的个数  
        }  
    }  
    printf("%d", k);  
  
    return 0;  
} 

转载于:https://www.cnblogs.com/Tristan-Adams/p/9862805.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值