这题答案有问题吧
查看原帖
这题答案有问题吧
929850
Chenyufeng040525楼主2023/6/13 14:33

因为这题没开数据下载,所以以下数据是从别的地方来的。 首先我也承认我的代码不是完全正确的,在小数据时不太正确,比如#9那个错是一些地方没处理好。但是在大数据时的正确性是很高的,可以看到我一些用时长的数据都对了。 但是#5和#10不管怎么改都是错在同一个地方,关键是这都还是大数据,就在刚才我才弄了点#10第5个测试点的部分数据。

n=1040 m=1013

前30个正数

9965 9960 9959 9917 9905 9894 9854 9839 9804 9792 9789 9781 9739 9736 9705 9666 9659 9656 9645 9604 9538 9532 9502 9484 9467 9417 9396 9382 9362 9322

后30个负数

9980 9947 9926 9911 9887 9851 9826 9777 9756 9751 9687 9667 9625 9623 9618 9617 9613 9597 9575 9551 9526 9512 9495 9492 9477 9417 9409 9391 9390 9366

其中最多只能有n-m+1个数在同一组,所以选取绝对值最大的28个数为一组

9980 9965 9960 9959 9947 9926 9917 9911 9905 9894 9887 9854 9851 9839 9826 9804 9792 9789 9781 9777 9756 9751 9739 9736 9705 9687 9667 9666

其中正数16个负数12个,所以最后结果是正的,相乘以后是一个长度为112开头是6的数。同时我们注意的题目说每个数的绝对值小于1e4,所以28个数相乘的最大结果是小于1e112的。但是答案的第一个数是5,比我算的6要小,而且这个数也不可能位数比我算的多,要是多就超过上面1e112的限制了。我可以接受自己的答案比正确答案小,那可能是我有什么地方没考虑清楚,但是比正确答案还要大是怎么回事呀。 既然我都能算出比正确答案还大的数,且过程没错,那这正确答案是不是就是错的呀。难怪没有人能过这题,就算写的代码是正确的,也会因为答案是错的而过不了吧。 同时我合理怀疑#5的第一个测试点也有问题,有没有哪位大佬能出来进行相关的测试呀,看看我说的是不是真的。 (目前加上打表的方法我最高可以到90分,差个#10的答案不知道)

2023/6/13 14:33
加载中...