ou_yang_ @ 2023-12-08 11:41:39
#include<stdio.h>
int main(void)
{
int l, m, i, j;
scanf("%d %d", &l, &m);//确定树量与地铁量
int k[10000];
for (i = 0; i < 10000; i++)//种树
{
k[i] = 1;
}
int x[200];
for (i = 0; i < m; i++)//存储所有地铁区间
{
scanf("%d %d", &x[2 * i], &x[2 * i + 1]);
}
for (i = 0; i < m; i++)//拔树
{
for (j = x[2 * i]; j <= x[2 * i + 1]; j++)
{
k[j] = 0; // 将树变为非树
}
int cnt = 0;
for (i = 0; i <= l; i++)//统计树量
{
if (k[i] == 1)
cnt++;
}
printf("%d", cnt);
return 0;
}
}
by nightwatch.ryan @ 2023-12-08 22:04:33
#include<iostream>
int l,m,u,v;
int a[10005];
int main(){
std::cin>>l>>m;
for(int i=1;i<=m;i++){
std::cin>>u>>v;
for(int j=u;j<=v;j++){
a[j]=-1;
}
}
int res=0;
for(int i=0;i<=l;i++){
if(a[i]!=-1){
res++;
}
}
std::cout<<res;
}
你可以参考一下
by Kelly_1 @ 2024-01-04 20:49:34
#include<stdio.h>
int main()
{
int l = 0, m = 0;
scanf("%d %d", &l, &m);
int a[10000] = { 0 };
int i = 0;
for (i = 0;i <= l;i++)
{
a[i] = 1;
}
int u = 0, v = 0;
for (i = 0;i < m;i++)
{
scanf("%d %d", &u, &v);
for (int j = u;j <= v;j++)
{
a[j] = 0;
}
}
int ret = 0;
for (i = 0;i <= l;i++)
{
ret = ret + a[i];
}
printf("%d\n", ret);
return 0;
}