P1047 校門外的樹 某校大門外長度為L的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是11米。我們可以把馬路看成一個數軸,馬路的一端在數軸00的位置,另一端在LL的位置;數軸上的每個整數點,即0,1,2,…,L0,1,2,…,L,都種有一棵樹。 由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止點的坐標都是整數,區域之間可能有重合的部分。


#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;  
} 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM