请大佬帮忙看看两道vjudge上的题,代码在ide上能按照题目的用例正确输出,但提交就是wrong answer?

1、某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
马路上有一些区域要用来建地铁,这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。

输入样例:
500 3
150 300
100 200
470 471

输出样例:
298

我的代码是

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main()
{
    int l , m , s , e , i , j , n = 0;
    cin >> l >> m;
    int * tree = new int[l + 2] {0};

    for(i = 1; i <= m; ++ i)
    {
        cin >> s >> e;
        for(j = s; j <= e; ++ j) tree[j] = 1;
    }
    for(i = 1; i < l + 2; ++ i) n += !tree[i] ? 1 : 0;
    delete [] tree;
    cout << n << endl;

    return 0;
}

2、一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。

输入样例:
2
3
20

输出样例:
0 0
5 10

我的代码是

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

struct Animal
{
    int min;
    int max;
};

int main()
{
    int n , a , i , j , ji = 0 , tu = 0;
    cin >> n;
    Animal * animal = new Animal[n];

    for(i = 0; i < n; ++ i)
    {
        cin >> a;

        if(a % 2 || a % 4)
        {
            animal[i].min = animal[i].max = 0;
            continue;
        }

        j = a;
        tu += j / 4;
        j -= j / 4 * tu;

        if(j > 0)
        {
            ji += j / 2;
            j -= j / 2 * ji;
        }
        animal[i].min = tu + ji;

        ji = 0;
        j = a;
        ji += j / 2;
        j -= j / 2 * ji;
        animal[i].max = ji;
    }
    for(i = 0; i < n; ++ i) cout << animal[i].min << " " << animal[i].max << endl;
    delete [] animal;

    return 0;
}

请大佬帮忙看一下,哪里有问题,两段代码在ide上都能正确输出,但提交就是错了

2个回答

T1,需要注意的是题目中有说明0也可以种树,那么自然隐含有0点可以铺公路,而你的程序是从1开始计算,就会漏掉0,导致结果比答案大1.
T2,你的特判(0 0)出问题,如果脚的数量是5,自然可以,但如果脚的数量是6,因为6%4=2为真,所以你就会输出0 0,但真实情况却是2 3,所以第23行改成if(a % 2)就行了,后面再进行一些微调。

qq_40559873
吾谁知 回复C_lionking: 没有关系,以后认真点就好了,有问题还可以再问
4 个月之前 回复
C_lionking
C_lionking 非常感谢!!!!!太激动了,看了几天没看出问题,论认真读题的重要性,T2的问题是我每次计算鸡兔的数量时,没有将上一次的数量归0,太粗心了
4 个月之前 回复
C_lionking
C_lionking 不是输入输出错误,是答案错误
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
使用VS提供的“预先生成事件命令行”,提示:命令已退出,代码为1.详细描述在正文,请大佬帮忙看下
2
那位大佬帮忙看看这段代码,python小白
2
Layui框架的table的选中行功能,获取选中行数据为空!!有没有大佬帮忙看看啊,查了各种资料都不行!!!
2
大佬帮忙看一下这个递归子函数表达的算法,实在是看不懂,谢谢!
3
运行报错,大佬们帮忙看看什么原因java.util.concurrent.ExecutionException
2
大佬帮忙看一下运行程序为什么没有得到预期的结果
2
小程序怎么获取两个view的高度,然后相加 求大佬帮忙
1
下载Android Studio 3.5.0目前最新版本 出现以下问题 请问各位大佬怎么办?麻烦各位大佬帮忙看看吧,谢谢~
1
求大佬帮忙看看,表格导出excel问题。
3
很急 路过的大佬帮忙看下
3
axios跨域问题,跪求大佬帮忙
1
acm 验证角谷猜想 报PE 找不出问题出在哪 求大佬帮忙看看
4
关于idea连接mysql数据库的问题,有大佬帮忙看一下吗?
1
index查索引值总报错,求大佬们帮忙看看
1
偏最小二乘法回归的Python代码看不懂,有大佬可以帮忙解释一下吗?
3
Linux下的mysql 启动问题,求大佬帮忙看看。
1
各位大佬帮忙看看,为什么不能翻页,只显示5个数据?
2
solr和tomcat整合失败le,求大佬帮帮忙啊!
1
请教一下,现在有一个已装Android系统的开发板,我想控制emmc,方法是通过编写一个android模块来通过ioctl控制emmc,可是现在ioctl一直返回-1,不知道是方法不对,还是哪里出错,请各位大佬帮忙看下,谢谢?
1
C语言二维数组问题,请大佬帮忙