为什么100分?就差一个测试点了!

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

## @[guoxinda](/user/1460688) 看不懂思密达 吾之码: ``` #include<bits/stdc++.h> using namespace std; int main(){ long long x1,x2,y1,y2; long long q,w; cin>>x1>>x2>>y1>>y2; q=min(min(min(x1*y1,x1*y2),x2*y1),x2*y2); w=max(max(max(x1*y1,x1*y2),x2*y1),x2*y2); if(q<-2147483648||w>2147483647){ cout<<"long long int"; } else{ cout<<"int"; } } ``` ------------ # _~~求关~~_
by wang_qian_xi1 @ 2024-09-17 14:03:24


?谁教你这么写的 不应该这样吗 ```c using namespace std; long long a,b,c,d; long long x,k,y,z,maxx; int main() { maxx=pow(2,60); cin>>a>>b>>c>>d; k=bd; x=ac; y=ad; z=bc; if(a==0||b==0||c==0||d==0){ if((a==0||c==0)&&b!=0&&d!=0){ if(abs(b)<maxx/abs(d)&&abs(k)<=2147483647&&abs(x)<=2147483647&&abs(y)<=2147483647&&abs(z)<=2147483647){ cout<<"int"; } else cout<<"long long int"; }else if((b==0||d==0)&&a!=0&&c!=0){ if(abs(a)<maxx/abs(c)&&abs(k)<=2147483647&&abs(x)<=2147483647&&abs(y)<=2147483647&&abs(z)<=2147483647){ cout<<"int"; } else cout<<"long long int"; } else{ if(abs(k)<=2147483647&&abs(x)<=2147483647&&abs(y)<=2147483647&&abs(z)<=2147483647){ cout<<"int"; } else cout<<"long long int"; } }else{ if(abs(b)<maxx/abs(d)&&abs(a)<maxx/abs(c)&&abs(k)<=2147483647&&abs(x)<=2147483647&&abs(y)<=2147483647&&abs(z)<=2147483647){ cout<<"int"; } else cout<<"long long int"; } return 0; } ```
by yjy_fywy @ 2024-09-20 13:16:07


@[yjy_fywy](/user/1394418) 你这个我为什么看不懂
by LJ26HuangYunzhen @ 2024-09-20 21:57:26


|