theblacksilence @ 2024-07-20 09:58:43
样例能过,代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10010]={0},l,m,le,ri,count;
cin>>l>>m;
for(int i=0;i<m;i++)
{
cin>>le>>ri;
for(int j=le;j<=ri;j++)
{
a[j]=1;
}
}
for(int i=0;i<=l;i++)
{
if(a[i]==0)
{
count++;
}
}
cout<<count;
return 0;
}
by huangzixuan666 @ 2024-07-20 10:01:44
@theblacksilence 有可能ri小le大
by theblacksilence @ 2024-07-20 10:06:50
@huangzixuan666 题目不是说0≤u≤v≤l吗
by medal_dreams @ 2024-07-20 10:18:17
@theblacksilence count的初始化0,不然报错
by huangzixuan666 @ 2024-07-20 10:19:19
眼瞎了,你的错误是count没设初始值
by theblacksilence @ 2024-07-20 10:29:52
草我傻了,过了,谢谢各位
by gubb @ 2024-07-25 21:00:23
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e4+10;//题目里面树的数量l<=10^4
bool tr[MAXN];//代表树在路上没被移走
int main(){
int l,m;//l树的数量,m移动区域的数量
cin>>l>>m;
int x,y;
while(m--){//for (int i=1;i<=m;i++) 也行
cin>>x>>y;
for(int i=x;i<=y;i++){
//遍历每一个区域x y所有的值
tr[i]=true;//代表i位置的树被移走了
}
}
int s=0;//累加器剩下多少树
for(int i=0;i<=l;i++)//遍历种树的区域
if(tr[i]==false) s++;//没有被移走s++
cout<<s;
return 0;
}