种树与砍树

这篇博客提出了一个关于树苗种植和砍伐的问题,描述了在学校门口的马路上,工作人员进行砍树和种树的操作。小科想要知道经过一系列操作后,马路上剩余的树苗数量以及在过程中被种上后又被砍掉的树苗数量。博客给出了输入输出格式和样例,邀请读者解决这个问题。
摘要由CSDN通过智能技术生成

小科的学校门口有一条笔直的马路,可以把马路看做是一个长度为L的直线,马路上有很多用来种树的树坑,编号依次为0到L,每一编号的位置上都有1棵杨树,春天杨絮满天飞,非常不利于健康,所以学校要把门口的杨树都换掉,工作人员中有的人负责砍树有的人负责种树。砍树用“0 A B表示”,意思是砍树者每次从编号A到编号B处(包含A和B)连续砍掉每一棵树,就连树苗也不放过;种树用“1 C D”表示,意思是种树者每次从编号C到编号D(包含C和D)中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗;由于工作人员比较多,有的人种树有的人砍树,难免会出差错,有一些砍树者一不小心就把刚刚种上的树苗又砍掉了。
小科是个好奇的小朋友,他想知道最终校门外留下的树苗有多少棵?植树者种上又被砍掉的树苗有多少棵?请你帮忙计算一下吧。

输入格式
一共N+1行:
第一行,两个整数L和N,表示校门外原来有L+1棵树,并有N次砍树或种树的操作。
以下N行,每行3个整数C B E,用来描述一次砍树或植树操作
如果C为1表示从编号B到编号E所有空穴的地方都种上树苗
如果C为0表示从编号B到编号E连续砍掉每一个棵树 (包含树苗)
输出格式
共两行:
第一行一个整数,表示马路上最终留下的树苗的数目
第二行一个整数,表示在砍树和植树过程中种上又被砍掉的树苗的数目
输入输出样列
输入样例1:
10 3
0 2 6
1 1 8
0 5 7
输出样例1:
3
2

#include<bits/stdc++.h>
using namespace std;
co
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值