洛谷P1789评判机制是否存在问题?

工单反馈版

@[cidigdit](/user/1156616) 小范围越界不报RE
by ln001 @ 2024-08-16 15:59:56


@[ln001](/user/644963) 可是有的题数组开19越界访问了 20就报RE,vs也会异常退出。为啥单单这道题就不会报异常也不会RE,只有clion的才会异常退出。我不是很理解诶,这和编译环境有关系吗?
by cidigdit @ 2024-08-17 02:44:56


@[cidigdit](/user/1156616) 和编译环境没有关系,跟代码习惯有关。 比如说下面这个代码,当输入的数是 `1001` 时,并没有报RE,而是返回了另一个数组的值。 ```cpp #include <bits/stdc++.h> using namespace std; ll a[1000], b[1000]; signed main() { f(i, 1, 999)b[i] = 114; ll x; cin>>x; cout<<a[x]; return 0; } ```
by ln001 @ 2024-08-17 08:18:42


代码是这个 ```cpp #include <bits/stdc++.h> #define ll long long #define f(x, y, z) for (ll x = (y); x <= (z); x++) using namespace std; const long long INF = 0x3f3f3f3f3f3f3f3f; ll a[1000], b[1000]; signed main() { f(i, 1, 999)b[i] = 114; ll x; cin>>x; cout<<a[x]; return 0; } ```
by ln001 @ 2024-08-17 08:19:54


|