竞赛
考级
来自互联网的疯子
#include<bits/stdc++.h> using namespace std; int a[10005];//模拟整个路段 int l,m,b,g;//l代表树的数量,m代表地铁的区域数,b代表地铁路段开始的坐标,g代表地铁路段结束的坐标 int main(){ cin>>l>>m; for(int i=1;i<=m;i++){ cin>>b>>g; for(int j=b;j<=g;j++){ if(a[j]==0){ l--; a[j] = 1; } } } cout<<l+1; return 0; } 有帮助,赞一个
菜
有事找大号
#include <bits/stdc++.h> using namespace std; int l,m,a[10001],s; int main() { cin>>l>>m; for(int i=0;i<=l;i++) a[i]=1; for(int i=1;i<=m;i++) { int x,y; cin>>x>>y; for(int j=x;j<=y;j++) a[j]=0; } for(int i=0;i<=l;i++) s+=a[i]; cout<<s; return 0; }
复仇者_黑客_ZDZL
耐高总冠军 张文杰
#include<bits/stdc++.h> using namespace std; int L,M; int cnt=0; int vis[10000+10]; int main(){ memset(vis,0,sizeof(vis)); cin>>L>>M; for(int i=0;i<=L;i++)vis[i]=0; for(int i=1;i<=M;i++){ int head,tail; cin>>head>>tail; for(int j=head;j<=tail;j++)if(vis[j]==0)vis[j]=1; } for(int i=0;i<=L;i++)if(vis[i]==0)cnt++; cout<<cnt<<endl; return 0; }
山河无恙
准
正在减肥的吃货
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+5; int T[maxn]; int main(){ int n , q; cin >> n >> q; for(int i = 1;i <= q;i++){ int l , r; cin >> l >> r; for(int j = l;j <= r;j++){ T[j] = 1; } } int cnt = 0; for(int i = 0;i <= n;i++){ if(T[i] == 0) cnt++; } cout << cnt; return 0; }
DARK SPECTRE
#include <bits/stdc++.h> using namespace std; int l,m,a[10001],s; int main(){ cin>>l>>m; for(int i=0;i<=l;i++) a[i]=1; for(int i=1;i<=m;i++){ int x,y; cin>>x>>y; for(int j=x;j<=y;j++)a[j]=0; } for(int i=0;i<=l;i++) s+=a[i]; cout<<s; return 0; }
风中雪zLyXj
#include <iostream> using namespace std; int main(){ int L,M,st,cl; cin>>L>>M; int tree[L+1]; for(int i=0;i<=L;i++){ tree[i]=0; } for(int i=1;i<=M;i++){ cin>>st>>cl; for(int j=st;j<=cl;j++){ tree[j]=1; } } int c=0; for(int i=0;i<=L;i++){ if(tree[i]==0) c++; } cout<<c; return 0; }
AX6t5
潜龙暗虎
#include<stdio.h> int main() { int L,M; int i,initial,end,l=0,nb=0; scanf("%d%d",&L,&M); int road[L+1]; for(i=0;i<=L;i++) road[i]=0; for(i=0;i<M;i++){ scanf("%d%d",&initial,&end); for(l=initial;l<=end;l++) road[l]=1; } for(i=0;i<L+1;i++){ if(road[i]==0) nb++; } printf("%d",nb); return 0; }
🐒🐒🐒🐒🐒🐒🐒🐒
A(Hello world!)
以下是解决该问题的Python代码: python 读取输入 l, m = map(int, input().split()) 初始化一个长度为 L + 1 的布尔列表,用于标记每棵树是否需要移走 初始时所有树都不需要移走,所以都标记为 FALSE trees = [False] * (l + 1) 处理每个区域 for _ in range(m): u, v = map(int, input().split()) # 确保 u 是区域的起始点,v 是区域的终止点 start, end = min(u, v), max(u, v) # 将该区域内的树标记为需要移走 for i in range(start, end + 1): trees[i] = True 统计需要移走的树的数量 removed = sum(trees) 计算剩余树的数量 remaining = (l + 1) - removed 输出结果 print(remaining) 代码解释: 输入读取: 首先读取两个整数 l 和 m,分别表示马路的长度和区域的数目。 然后使用一个长度为 l + 1 的布尔列表 trees 来标记每棵树是否需要移走,初始时所有树都不需要移走,所以都标记为 False。 处理每个区域: 对于每个区域,读取其起始点 u 和终止点 v,并确保 start 是较小的坐标,end 是较大的坐标。 遍历该区域内的所有整数点,将这些点对应的树标记为需要移走,即将 trees 列表中相应位置的值设为 True。 统计剩余树的数量: 使用 sum(trees) 统计需要移走的树的数量。 因为马路上原本有 l + 1 棵树,所以剩余树的数量为 (l + 1) - removed。 输出结果: 最后输出剩余树的数量。
柯南
173****7287
枫岚
#include <bits/stdc++.h> using namespace std; int l, m, x, y, sum = 0, a[100500], i, j; int main () { cin >> l >> m; for (i = 1; i <= l; i ++) { a[i] = 0; } for (i = 1; i <= m; i ++) { cin >> x >> y; for (j = x; j <= y; j ++) { a[j] = 1; } } for (i = 0; i <= l; i ++) { if (a[i] == 0) { sum ++; } } cout << sum; return 0; }
ACGO 解题官
#include <iostream> using namespace std; int l,m,a[10001],s; int main() { cin>>l>>m; for(int i=0; i<=l; i++) a[i]=1; for(int i=1; i<=m; i++) { int x,y; cin>>x>>y; for(int j=x; j<=y; j++) a[j]=0; } for(int i=0; i<=l; i++) s+=a[i]; cout<<s; return 0; }
袁骁
共63条