dfy666 @ 2024-01-29 23:07:40
#include<iostream>
#include<cstring>
using namespace std;
int main() {
int l, m, arr[100];
cin >> l >> m;
memset(arr, 0, sizeof(arr));
for (int i = 0;i < m * 2 ;i++) {
cin >> arr[i];
}
int tree[10001];
memset(tree, 0, sizeof(tree));
memset(tree, -1, (l + 1) * 4);
for (int i = 0;arr[i] != 0;i += 2) {
for (int j = arr[i];j <= arr[i + 1];j++) {
tree[j] = 0;
}
}
int sum = 0;
for (int i = 0;i < l + 1;i++) {
sum += tree[i];
}
cout << sum * (-1);
return 0;
}
by study_Zzz @ 2024-01-30 19:45:10
#include <bits/stdc++.h>
using namespace std;
int l, m, u, x, sum, a[10000+10];//a[i]=1
int main(){
cin >> l >> m;
for(int i=0; i<=l; ++i){
a[i]=1;
}
for(int i=1; i<=m; ++i){
cin >> u >> x;
for(int j=u; j<=x; ++j){
a[j]=0;
}
}
for(int i=0; i<=l; ++i){
if(a[i]==1){
sum+=1;
}
}
cout << sum << endl;
}```
by study_Zzz @ 2024-01-30 19:56:40
就是,在a这个数组里,如果有数,就是1, 否则就是0,然后输入u和o,
for(int j=u; j<=o; ++j){
a[j]=0;
}
u和o之间的数变成0,最后用for循环判断再输出就可以了
by study_Zzz @ 2024-01-30 19:57:13
就是,在a这个数组里,如果有数,就是1, 否则就是0,然后输入u和o,
for(int j=u; j<=o; ++j){
a[j]=0;
}
u和o之间的数变成0,最后用for循环判断再输出就可以了
by kotoamatsukami @ 2024-01-31 17:18:28
就是,在a这个数组里,如果有数,就是1, 否则就是0,然后输入u和o, for(int j=u; j<=o; ++j){ a[j]=0; } u和o之间的数变成0,最后用for循环判断再输出就可以了
by kotoamatsukami @ 2024-01-31 17:19:28
就是,在a这个数组里,如果有数,就是1, 否则就是0,然后输入u和o,
for(int j=u; j<=o; ++j){
a[j]=0;
}
u和o之间的数变成0,最后用for循环判断再输出就可以了
by dfy666 @ 2024-02-19 09:42:12
@Leo329 谢谢!
by dfy666 @ 2024-02-19 09:42:37
@zhc123bc 感谢感谢