社区讨论

有大神教下这段代码哪里有误嘛,提交只有两个AC

P1047[NOIP 2005 普及组] 校门外的树参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo98x9p8
此快照首次捕获于
2023/10/28 07:30
2 年前
此快照最后确认于
2023/10/28 07:30
2 年前
查看原帖
C
#include<stdio.h>
#include<math.h>
int main(){
    int l,m;
    scanf("%d %d",&l,&m);
    int a[m][2];
    for(int j = 0;j<m;j++){
        scanf("%d %d",&a[j][0],&a[j][1]);
    }
    int temp = a[0][1]-a[0][0]+1;
    int a1 = a[0][0];
    int a2 = a[0][1];
    for(int k=1;k<m;k++){
        if(a1>=a[k][0]&&a1<=a[k][1]){
            temp+=(a1-a[k][0]);
            a1 = a[k][0];
        }
        else if(a[k][1]<a1){
            temp+=(a[k][1]-a[k][0])+1;
            a1 = a[k][0];
        }
        if(a2<=a[k][1]&&a2>=a[k][0]){
            temp+=(a[k][1]-a2);
            a2 = a[k][1];
        }
        else if(a2<a[k][0]){
            temp+=(a[k][1]-a[k][0])+1;
            a2 = a[k][1];
        }
    }
    printf("%d",(l+1-temp));
    return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...