社区讨论
数据8,9的结果是WA
P1047[NOIP 2005 普及组] 校门外的树参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo19ixmz
- 此快照首次捕获于
- 2023/10/22 17:24 2 年前
- 此快照最后确认于
- 2023/11/02 17:40 2 年前
C
#include <stdio.h>
int main()
{
int all,n,arr[200][200],max,min;
scanf("%d",&all);//输入所有树的棵数
all+=1;
scanf("%d",&n);//输入给与的路的行数
for(int i=1;i<=n;i++)//用数组记录每段公路的起始位置点和结束位置点
{
scanf("%d",&arr[i][1]);//记录起始位置点
scanf("%d",&arr[i][2]);//记录结束位置点
}
max=arr[1][2],min=arr[1][1];
for(int i=1;i<=n;i++)//遍历数组,找出公路的最大通集部分
{
if ( (arr[i][2]>=max)&&(arr[i][1]>=min)&&(arr[i][1]<max) )//第一种出现交集的情况
{
max=arr[i][2];
}
else if( (arr[i][2]<=max)&&(arr[i][1]<min) &&(arr[i][2]>min) )//第二种出现交集合的情况
{
min=arr[i][1];
}
}
for(int i=1;i<=n;i++)//找出没有交集的公路的部分的树并用总树的量减去
{
if ( (arr[i][2]<min)||(arr[i][1]>max) )
{
all=all-arr[i][2]+arr[i][1]-1;
}
}
all=all-max+min-1;//用总树的量再次减去通集的树的数量
printf("%d",all);
return 0;
}
```8,9是WA其他的都通过了,希望能帮我看看有什么问题
回复
共 2 条回复,欢迎继续交流。
正在加载回复...