閱讀657 返回首頁    go 技術社區[雲棲]


九度題目1088:剩下的樹

題目1088:剩下的樹

題目描述:
    有一個長度為整數L(1<=L<=10000)的馬路,可以想象成數軸上長度為L的一個線段,起點是坐標原點,在每個整數坐標點有一棵樹,即在

0,1,2,...,L共L+1個位置上有L+1棵樹。
    現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從100到200之間(包括端點)所有的樹。
    可能有M(1<=M<=100)個區間,區間之間可能有重疊。現在要求移走所有區間的樹之後剩下的樹的個數。

輸入:
    兩個整數L(1<=L<=10000)和M(1<=M<=100)。
    接下來有M組整數,每組有一對數字。

輸出:
    可能有多組輸入數據,對於每組輸入數據,輸出一個數,表示移走所有區間的樹之後剩下的樹的個數。

樣例輸入:

500 3
100 200
150 300
470 471

樣例輸出:

298

來源:
2011年清華大學計算機研究生機試真題


機房快要關門了,還沒吃晚飯,原諒我走之前水一題......

#include<stdio.h>
#include<string.h>
int a[15000];
int main()
{
    int i,j,n,m,x,y,sum;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        memset(a,0,sizeof(a));
        for(i=0;i<m;i++)
        {
           scanf("%d%d",&x,&y);
           for(j=x;j<=y;j++)
           a[j]=1;
        }
        sum=0;
        for(i=0;i<=n;i++)
        {
           if(a[i]==0)
           sum++;
        }
        printf("%d\n",sum);                           
    }
    return 0;
}


 

最後更新:2017-04-03 12:56:20

  上一篇:go Oracle中查看建立索引和使用索引的注意點
  下一篇:go 九度題目1120:全排列