数组开小了 /fad
by Aftglw @ 2022-09-02 12:00:21
@[After_glow](/user/205541)
数组确实开小了 开到2e6能过
但是其实我想知道为什么我本地读写就是只读入`n` `m`都无法正确输入
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("P4782_7.in","r",stdin);
int n, m;
cin >> n >> m;
cout << n << ' ' << m;
return 0;
}
```
这份代码的输出结果是 `n` 和 `m` 的原值,输入输出没有对其做出改动
by AFLeartLey0103 @ 2022-09-02 12:13:19
大兄弟,你maxn的2后面加个0就AC了……
by leoqing @ 2022-09-02 12:51:48
至于你本地不对是因为freopen,洛谷输入很多,就卡没了,你直接改成cin>>n>>m;就行。
ps:求关注
by leoqing @ 2022-09-02 12:53:35
@[leoqing](/user/495133)
你可能没有理解我说的意思)
1. 这个题原本 RE #7 - #10 确实是数组大小的问题,我在开大数组后已经通过
2. 本地在测试的时候我发现 在使用 `freopen` 时即使只读入数字不进行任何操作也会出现读入的数字和文件内不一致的状况 我想知道导致这个问题的根本原因是什么
by AFLeartLey0103 @ 2022-09-02 14:16:21
@[AFLeartLey](/user/568884) 如果您是在 `maxn` 取 2e5 时才出现以上 n,m 与读入不一致的问题,应该是因为存储溢出而占用了 n, m (也就是当您空间开很小,但还是强行调用更大的范围,就会导致其他变量会莫名其妙地被更改);否则,如果当 `maxn` 取到足够大时也会出现如上问题,那我也不会了![qq_emoji: kk](https://xn--9zr.tk/kk)
by Aftglw @ 2022-09-02 14:41:43
@[After_glow](/user/205541)
我确实在测试时 `maxn` 取 2e5 时会导致 n, m 与读入不一致,但在我测试问题原因时我发现即使我把`namespace Tsat` 的所有内容以及我 `main()` 函数中读入边的部分注释掉也无法解决这个问题
同时我以上的这份只输入并输出 n, m 的代码也会出现相同的问题,似乎问题并没有出现在空间覆盖上
by AFLeartLey0103 @ 2022-09-02 14:53:45
@[AFLeartLey](/user/568884) 也许可以尝试适用在线 IDE,排除本地 IDE 或着机子的问题(
by Aftglw @ 2022-09-02 15:04:31
@[After_glow](/user/205541)
但是在线IDE好像不能 `freopen` (
同时原输入文件已经达到了15.5MB,似乎也无法使用在线IDE进行输入
by AFLeartLey0103 @ 2022-09-02 15:10:20
@[AFLeartLey](/user/568884) 可以用 uoj 的自定义测试
by Aftglw @ 2022-09-02 15:28:31