求助!全WA!

P1047 [NOIP2005 普及组] 校门外的树

Hanser_0019 @ 2023-03-19 10:11:46

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int l,m,u,v,cnt=0;
    int a[10000];
    cin>>l>>m;
    for (int i=1;i<=m;i++)
    {
        cin>>u>>v;
        for (int j=u;j<=v;j++)
        {
            a[j]=1;
        }
    }
    for (int k=1;k<=l;k++)
    {
        if (a[k]==1) cnt+=1;
    }
    cout<<cnt;
}

by imzfx_Spuare @ 2023-03-19 10:34:14

这是代码

#include<bits/stdc++.h>
using namespace std;
int f[100001];
int main()
{
    int n,m,x,y,sum=0;
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>x>>y;
        for(int j=x;j<=y;j++)f[j]=1;
    }
    for(int i=0;i<=n;i++)
    {
        if(f[i]==0)sum++;
    }
    cout<<sum;
    return 0;
}

by imzfx_Spuare @ 2023-03-19 10:36:15

这里

if (a[k]==1) cnt+=1;

因改为

if (a[k]==0) cnt+=1;

by imzfx_Spuare @ 2023-03-19 10:39:20

还有这

for (int k=1;k<=l;k++)

因改为

for (int k=0;k<=l;k++)

by imzfx_Spuare @ 2023-03-19 10:41:24

因为0也可以种树


by Hanser_0019 @ 2023-03-20 15:38:16

@a15061696189 感谢!


by gubb @ 2024-07-25 21:01:49

#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;

}

|