#include <iostream>
using namespace std;
bool isInt(long long x[2], long long y[2]) {
long long llnum[4] = {x[0] * y[0], x[0] * y[1], x[1] * y[0], x[1] * y[1]};
int intnum[4] = {x[0] * y[0], x[0] * y[1], x[1] * y[0], x[1] * y[1]};
for (int i = 0; i < 4; i++) {
if (llnum[i] != intnum[i]) return false;
}
return true;
}
int main() {
long long x[2], y[2];
cin >> x[0] >> y[0];
cin >> x[1] >> y[1];
if (isInt(x, y)) cout << "int";
else cout << "long long int";
return 0;
}
绝大多数过了,但有几个WA。
我使用int溢出后与实际数据不相等的方法判断是否为long long,绝大多数都能过,只有几组不能过。