why???

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

hgggggg @ 2023-08-06 17:38:07

#include<bits/stdc++.h>
using namespace std;
int main()

    {
    int a[1001],b[10001];
    int h=0;
    int n,m;
    cin>>n>>m;
    int u=2*m;  
    for(int y=0;y<=n;y++)
    {
        a[y]=0;
    }
    for(int i=1;i<=u;i++)
    {
        cin>>b[i];
    }
    while((u-2)>=0)
    {
        for(int j=b[u-1];j<=b[u];j++)
        a[j]=1;
        u=u-2;
    }
    for(int p=0;p<=n;p++)
    {
        if(a[p]=0)
        h++;

    }
    cout<<h;
    return 0;

}

by dsfgsdf @ 2023-08-06 18:32:58

@hgggggg

其实你可以尝试一下新思路,你可以把起始的树和结束的树分成两个数组,这样子数组下标可以好操控一点,你要不要试试看(只需要改while循环里面的并且加一个变量)


by Heartstrings @ 2023-08-06 18:43:13

@lfxxzms 其实树状数组可以做


by hgggggg @ 2023-08-06 18:47:47

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[10001],b[10001],s[10001]={0};
    int m,n,temp=0;
    cin>>m>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        cin>>b[i];
    }
    for(int j=1;j<=n;j++)
    {
        for(int p=a[j];p<=b[j];p++)
        s[p]==1;
    }
    for(int k=0;k<=m;k++)
    {
        if(s[k]==0)
        temp++;
    }
    cout<<temp;
    return 0;
}

@lonely_conqueror 这个还是不行耶,why


by 啊吧怪 @ 2023-08-06 18:55:09

@hgggggg 第15行的

s[p]==1

改为

s[p]=1

才行,变量的赋值不能用两个等于


by 啊吧怪 @ 2023-08-06 18:55:40

@hgggggg 修改后可过


by Heartstrings @ 2023-08-06 18:58:53

@hgggggg 这个s[p]==1是判断用的

赋值要用s[p]=1


by hgggggg @ 2023-08-06 18:59:17

@啊吧怪 还是不行也


by hgggggg @ 2023-08-06 19:00:16

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[10001],b[10001],s[10001]={0};
    int m,n,temp=0;
    cin>>m>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        cin>>b[i];
    }
    for(int j=1;j<=n;j++)
    {
        for(int p=a[j];p<=b[j];p++)
        s[p]=1;
    }
    for(int k=0;k<=m;k++)
    {
        if(s[k]=0)
        temp++;
    }
    cout<<temp;
    return 0;
}

这个不行,结果为0


by 啊吧怪 @ 2023-08-06 19:02:23

@hgggggg 我说的是15行的,没让你把下面

if(s[k]==0)

改成

if(s[k]=0)

by Heartstrings @ 2023-08-06 19:03:17

@hgggggg 这个s[p]==1是判断用的

赋值要用s[p]=1


上一页 | 下一页