AlenLuo @ 2023-10-21 23:39:05
把所有输入数据中重复的部分筛选出来 然后用总数减施工的
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int l,m,num[2][105],h;
int main(){
cin>>l>>m;
for(int i=0;i<m;i++){
cin>>num[0][i]>>num[1][i];
}
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
if(num[0][i]==-1||num[0][i]==-1||num[0][j]==-1||num[0][j]==-1) break;
else if(num[0][i]>num[0][j]){
if(num[1][i]<num[1][j]&&num[0][i]<num[1][j]){
num[0][i]=-1;
num[1][i]=-1;
}
else if(num[1][i]>num[1][j]&&num[0][i]<num[1][j]){
num[1][j]=num[1][i];
num[0][i]=-1;
num[1][i]=-1;
}
}
}
}
for(int i=0;i<m;i++){
cout<<num[0][i]<<" "<<num[1][i]<<endl;
}
for(int i=0;i<=m;i++){
cout<<h<<endl;
if(num[0][i]==-1&&num[1][i]==-1) ;
else h+=num[1][i]-num[0][i]+1;
}
cout<<l-h+2;
return 0;
}
by Douruixuan @ 2023-10-22 14:07:23
换一下思路吧,三步走起
1.我们要想富,先种树开一个列表,列表里的树都是0
2.然后再砍树,用循环把区间内的树都砍了(变成1)
3.循环,看还有多少树是0
一个小小小小蒟蒻最多帮到这了