百思不得其解

P1401 [入门赛 #18] 禁止在 int 乘 int 时不开 long long

可以利用 C++ 的数据自然溢出解题。比如int a1,b1; long long a2,b2; 如果a1*b1!=a2*b2,那么就代表爆int了,要用long long;相等就是输出int。你这个思路我没太看懂 @[ak996_886](/user/1286400)
by xin20110426 @ 2024-07-18 12:28:10


@[xin20110426](/user/429491) 我的想法是把数据放在二维数组,因为可能会有正有负,所以拿数据相乘再排序后得到结果的范围,拿最大和最小的去和int数据范围比较看看在不在范围内。 我的问题就是我定义了这个long long int用来储存相乘得到的结果的数组xu,按定义应该是可以容下这个样本数据相乘的结果,但是调试的时候就成了1或者是-1,符号正确,但是值不对。我就蒙了。 C++我还没学,不是很清楚怎么操作,我再去学习学习,这个想法我想应该可以用C模仿一下试一下。感谢建议。
by ak996_886 @ 2024-07-18 16:51:10


|