有这么复杂吗?
判断有没有超int就好啦:
```c
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b,c,d;
signed main(){
cin>>a>>b>>c>>d;
if(a*c<-2147483648||a*c>2147483647||b*d<-2147483648||b*d>2147483647||a*d<-2147483648||a*d>2147483647||b*c<-2147483648||b*c>2147483647){
cout<<"long long int";
}else{
cout<<"int";
}
return 0;
}
```
求关
by mengfancheng @ 2024-09-10 21:47:42
咳咳,你知不知道不能用 y1 做变量名
接着我很抱歉的告诉你,我暂时改不出来
能力有限,望谅解
虽然AC了
by feizhu0130 @ 2024-09-10 21:51:27
这是我写的,更简介明了,上面随便揪的其他人AC代码,刚找到我的记录:
```c
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,x,y;
cin>>a>>b>>x>>y;
if(a*x<-2147483648||a*x>2147483647||b*y<-2147483648||b*y>2147483647||a*y<-2147483648||a*y>2147483647||b*x<-2147483648||b*x>2147483647){
cout<<"long long int";
}else{
cout<<"int";
}
return 0;
}
```
by mengfancheng @ 2024-09-10 21:54:47
@[mengfancheng](/user/1198444)
感觉我和你的代码出奇的像诶
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long x_1,x_2,y_1,y_2;
cin>>x_1>>x_2>>y_1>>y_2;
if(x_1*y_1>2147483647||x_1*y_2>2147483647||x_2*y_2>2147483647||x_2*y_1>2147483647||x_1*y_1<-2147483647||x_1*y_2<-2147483647||x_2*y_2<-2147483647||x_2*y_1<-2147483647)
{
cout<<"long long int";
}
else
{
cout<<"int";
}
return 0;
}
```
by feizhu0130 @ 2024-09-10 21:55:06
都是智慧树法
~~(直接CTRL+c和v不香吗?)~~
by mengfancheng @ 2024-09-10 22:02:08
@[Alecvbnm](/user/1443888) 为什么要x1*x2呢,应该是
x1*y1, x1*y2, x2*y1, x2*y2
by ws_Zzz @ 2024-09-17 20:56:35