hack

P1001 A+B Problem

Abeeel51 @ 2024-10-14 19:41:06

提交代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    while(b--) a++;
    cout<<a<<endl;
}

你会发现 100 分。

hack #1:

input

1 -1

output

0

hack #2:

input

-1000000000 1000000000

output

0

by FLAMEs_ @ 2024-10-14 19:43:58

6


by csZJY @ 2024-10-14 19:50:06

666,这题也能出hack


by Abeeel51 @ 2024-10-14 19:50:37

错了错了 hack 不掉


by Abeeel51 @ 2024-10-14 19:52:11

理论上能hack 实际上洛谷跑太快了hack不掉


by Abeeel51 @ 2024-10-14 19:52:53

不开O2就寄了。


by YDMaYi @ 2024-10-14 20:01:47

得出结论:锣鼓1001没有负数点


by Abeeel51 @ 2024-10-15 07:23:32

@YDMaYi 有,他是 b 减到 -inf 然后变成 inf 然后减到 0。a 相反。


by xie_ccc @ 2024-10-18 13:48:31

@Abeeel51 其实是O2把

while(b--) a++;

优化成

a=a+b

O2是个神奇的东西


by Abeeel51 @ 2024-10-18 13:58:47

@xie_ccc /bx


by LionBlaze @ 2024-10-18 17:26:23

@Abeeel51 有符号整数溢出是 UB,编译器认为你不会出 UB,开 O2 就给你优化了。


|