解题思路:用较大的数组标记,开始时全部设置为1(表示有树),循环控制输入次数,依次输入开始和结尾数据,在范围内的设置为0(没树)。
注意事项:标记数组一定要够大。
参考代码:
#include<iostream> using namespace std; int main() { int L, M,sum=0,beg,end; int i, j; int book[10000]; cin >> L >> M; for (i = 0; i <= L; i++) book[i] = 1; for (i = 0; i < M; i++) { cin >> beg >> end; for (j = beg; j <=end; j++) { book[j] = 0; } } for (i = 0; i <= L; i++) { if (book[i] == 1) sum++; } cout << sum << endl; return 0; }
0.0分
24 人评分
C语言训练-素数问题 (C语言代码)浏览:990 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:858 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:935 |
【绝对值排序】 (C语言代码)浏览:820 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:679 |
1231题解(注意理解“输入多个测试实例”)浏览:785 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:523 |
三进制小数 (C语言代码)浏览:812 |
逆反的01串 (C语言代码)浏览:1435 |