校门外的树 UESTC

来源:互联网 发布:linux 解压缩文件 编辑:程序博客网 时间:2024/05/17 09:03

校门外的树 UESTC - 62


Problem

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

马路上有一些区域要用来建地铁,这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

Input

输入的第一行有两个整数LL(1≤L≤100001≤L≤10000)和 MM(1≤M≤1001≤M≤100),LL代表马路的长度,MM代表区域的数目,LL和MM之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。

Output

输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。

Sample Input

500 3
150 300
100 200
470 471

Sample Output

298

ps:水题

代码如下:

#include<stdio.h>#include<string.h>int main () {    int n, t;    int a, b;    scanf("%d %d", &n, &t);    int arr[10010];     memset(arr, -1, sizeof(arr));    while( t-- ) {        scanf("%d %d", &a, &b);        for(int i = a; i <= b; i++) arr[i] = 0;     }    int sum = 0;    for(int i = 0; i <= n; i++) if( arr[i] == -1 ) sum++;    printf("%d\n", sum);    return 0;}
原创粉丝点击