求助,679三个点WA了

P1001 A+B Problem

JordanPoole_3 @ 2022-08-23 20:54:08

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

by JordanPoole_3 @ 2022-08-23 21:03:20

@ajahjahah 救命 没看数据范围


by HarryKane @ 2022-08-23 21:03:31

@JordanPoole_3 草


by ajahjahah @ 2022-08-23 21:04:06

而且a=b 不应该直接RE了吗()


by JordanPoole_3 @ 2022-08-23 21:05:27

@ajahjahah 好像确实(……但测试点好像没有


by _O_o_ @ 2022-08-24 10:31:39

好端端的一道题被你给整的这么复杂


by SegTree @ 2022-08-24 12:55:01

@JordanPoole_3 实际上有 a=b 的数据,只是因为用 double 类型时计算 0\div 0 不会返回 RE 而会返回 -nan。再次强转 int 会返回 -2147483648。这样会造成答案的错误。

正确的做法是特判 a=b 应该返回 2a

@ajahjahah 不会直接 RE,解释见上面。


by ajahjahah @ 2022-08-24 14:04:21

@jpb_Saturn 懂了,这是是一种未定义行为吗(


by SegTree @ 2022-08-24 14:20:07

@ajahjahah 不是。


by JordanPoole_3 @ 2022-08-24 21:45:57

@jpb_Saturn 牛啊大佬一点就通


by 209u03 @ 2022-08-26 10:14:31

是不是走错区了?


上一页 | 下一页