解题思路:
用数组模拟坐标轴上的整数坐标,也代表可以种树的地方。
例如:char L[11] ==> 1 1 1 1 1 1 1 1 1 1 1 ==> 1代表种了树
|___|___|___|___|___|___|___|___|___|___|
0 1 2 3 4 5 6 7 8 9 10 ==> 整数坐标位置
由上可知最多可以种11棵树。
如果 1-6 需要清理 即将坐标1-6的 1 变成 0:
1 0 0 0 0 0 0 1 1 1 1 ==> 1代表种了树
|___|___|___|___|___|___|___|___|___|___|
0 1 2 3 4 5 6 7 8 9 10 ==> 整数坐标位置
注意事项:
定义数组时,数组的大小需要比L的最大值大1,否则不满足题意(虽然也许也能过)。
参考代码:
#include <bits/stdc++.h> using namespace std; int main(){ char L[10001]={0}; int a,n; //树的数量与需要清理的区域数量 int x,y; //清理的区域 int num=0; //记录最后留下来的1数量(树木的数量) cin>>a>>n; for(int i=0;i<=a;i++) //种树(将0-a变为1) L[i]=1; while(n--){ cin>>x>>y; for(int i=x;i<=y;i++){ L[i]=0; //挖树(将x-y变成0) } } for(int i=0;i<=a;i++) //数一下a以内还剩几棵树 if(L[i]) num++; cout<<num<<endl; return 0; }
0.0分
23 人评分
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:622 |
简单的a+b (C语言代码)浏览:783 |
时间转换 (Java代码)浏览:617 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:658 |
WU-输入输出格式练习 (C++代码)浏览:1133 |
用筛法求之N内的素数。 (C语言代码)浏览:890 |
文科生的悲哀 (C语言代码)浏览:1538 |
演讲大赛评分 (C语言代码)浏览:1696 |
矩阵的对角线之和 (C语言代码)浏览:1401 |
C二级辅导-统计字符 (C语言代码)浏览:695 |