Andyliu2023 @ 2024-02-23 21:47:55
代码为什么会出错?求助大佬
#include<bits/stdc++.h>
using namespace std;
int main(){
int l,m,u,v,i,minu=10001,maxv=-1;
cin>>l>>m;
for(i=1;1<=m;i++){
cin>>u>>v;
minu=min(u,minu);
maxv=max(v,maxv);
}
cout<<l-maxv+minu;
return 0;
}
by Terrible @ 2024-02-23 21:54:24
@Andyliu2023
for
第二个参数 改成 i<=m
另外你这个思路根本就不对,样例都过不去就是了。
by Into_the_Abyss @ 2024-02-23 22:16:57
@Andyliu2023 可以看下我的思路
#include <bits/stdc++.h>
using namespace std;
int main(){
int m,l;
cin>>l>>m;
int a[l+100]={};//用数组记录是否移走的状态1为移走0为未移走
for(int i=1;i<=m;i++){
int v,u;
cin>>v>>u;
for(int j=v;j<=u;j++){
a[j]=1;//移走后记录状态变为1
}
}
int s=0;
for(int i=0;i<=l;i++){
if(a[i]==0){
s++;//如果为0则为未移走就讲计数器++
}
}
cout<<s;
}
by Into_the_Abyss @ 2024-02-23 22:19:55
@Andyliu2023
你的思路错在把移走的区间定为输入的
实则不是如此,可以再审审题哈
by Andyliu2023 @ 2024-02-28 21:24:28
@YJHtbyz 谢谢大佬!!!
by Andyliu2023 @ 2024-08-24 20:39:28
@Terrible 谢谢大佬
by Andyliu2023 @ 2024-08-24 20:40:14
@Into_the_Abyss 谢谢大佬