社区讨论
有大神教下这段代码哪里有误嘛,提交只有两个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 条回复,欢迎继续交流。
正在加载回复...