数轴上的起始点和终止点表示。"/>
算法初级:学校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米,由于马路上有一些区域要用来建地铁,这些区域用它们在数轴上的起始点和终止点表示。
学校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在的位置,数轴上的每个整数点(即0,1,2,……,L)都有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任意区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这L些区域中的树(包括区域端点处的两棵树)移走。请计算将这些树都移走后,马路上还有多少棵树。
朴实无华的方法,
#include<iostream>
#include<string>
using namespace std;int main()
{int L;int M;int c = 0;cin >> L;//长度cin >> M;//多少个区域int K[10000] = { 0 };int J[100];int N[100];for (int i = 0;i < M;i++){cin >> J[i];//起始区域cin >> N[i];//结束区域for (int j = J[i]; j < N[i] + 1; j++){K[j] = 1;}}for (int i = 0; i < L+1; i++){if (K[i] ==1){c = c + 1;}}cout << L-c +1<< endl;return 0;}
更多推荐
算法初级:学校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米,由于马路上有一些区域要用来建地铁,这些区域用它们在数轴上的起始点和终止点表示。
发布评论