社区讨论

数据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 条回复,欢迎继续交流。

正在加载回复...