日记

2024.4.11

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

#include<stdio.h>
void f(int *arry){
    for(int i=0;i<10001;i++){
        arry[i]=0;
    }
    int total=0,num=0;
    int m_1=0,m_2=0;
    scanf("%d%d",&total,&num);
    for(int i=0;i<num;i++){
        scanf("%d%d",&m_1,&m_2);
    for(int j=m_1;j<=m_2;j++){
    arry[j]=1;
    }
    }
    int c=0;
    for(int i=0;i<=total;i++){
        if(arry[i]==0) c++;
    }
    printf("%d",c);
}
int main(){
    int arry[10001];
    f(arry);
    return 0;
}
错误原因:直接用Size进行标记,忽略了0这个特殊数据,如果0处也没有种树,则a[0]=0,也会被c++;
改进:以后标记应用特殊数值或符号。
posted @ 2024-04-11 20:40  pengfu_xin  阅读(2)  评论(0编辑  收藏  举报