全是WA求帮助(NOIP2005校门外的树)

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

qqwea @ 2023-09-11 21:49:13

#include<iostream>
#include<stdio.h>
using namespace std;
bool tree[1001];
int main()
{
    int a,b,x=0;
    cin>>a>>b;
    int c[1001];
    int u[1001];
    for(int i=0;i<b;i++)
    {
        cin>>c[i]>>u[i];
    }
    for(int i=0;i<=(a/b);i++)
    {
        tree[i]=1;//1=未砍
    }
    for(int i=0;i<b;i++)
    {
        for(int j=c[i];j<u[i];++j)
        {
            if(tree[j]==1)
            {
                x++;
                tree[j]=0;
            }
        }
    }
    cout<<a+1-x;
    return 0;
}

by gotocspandbetter @ 2023-09-11 22:07:58

#include<iostream>
#include<stdio.h>
using namespace std;
bool tree[10001];
int main()
{
    int a,b,x=0;
    cin>>a>>b;
    int c[10001];
    int u[10001];
    for(int i=0;i<b;i++)
    {
        cin>>c[i]>>u[i];
    }
    for(int i=0;i<=a;i++)
    {
        tree[i]=1;//1=未砍
    }
    for(int i=0;i<b;i++)
    {
        for(int j=c[i];j<=u[i];++j)
        {
            if(tree[j]==1)
            {
                x++;
                tree[j]=0;
            }
        }
    }
    cout<<a+1-x;
    return 0;
}

by gotocspandbetter @ 2023-09-11 22:10:12

1.数组开小了,应该是10001

2.tree初始化范围应为[0,a]

3.砍树时范围应为[c[i],u[i]]


|