1 条题解
-
0
自动搬运
来自洛谷,原作者为

fish_love_cat
「要毁灭世界,根本不需要邪恶。起初,那些都是不会被任何人怪罪的小小愿望。而那样的愿望却如此轻易地,和末日相连在一起。」搬运于
2025-08-24 23:17:23,当前版本为作者最后更新于2025-06-01 18:06:37,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
出题人没说用哪个什么编译器那就按 32 位编译器算吧。
背过数据范围的同学都知道:
int:;
int:;
int:;
int:;
string:并无范围,看你内存大小咯。写个高精度比大小然后硬算就行了。
#include<bits/stdc++.h> using namespace std; // -1 -> a<b // 1 -> a>b // 0 -> a=b int bdx(string s1,string s2){ int i=0,op=1; if(s1[0]=='-'&&s2[0]==s1[0])op=-1,i++; if(s1[0]=='-'&&op==1)return -1*op; if(s2[0]=='-'&&op==1)return 1*op; if(s1==s2)return 0*op; else if(s1.size()<s2.size())return -1*op; else if(s1.size()>s2.size())return 1*op; for(;i<s1.size();i++){ if(s1[i]<s2[i])return -1*op; else if(s1[i]>s2[i])return 1*op; } } string s; int f(string x){ return bdx(s,x); } int main(){ cin>>s; if(f("-2147483648")>=0&&f("2147483647")<=0)puts("int"); if(f("0")>=0&&f("4294967295")<=0)puts("unsigned int"); if(f("-9223372036854775808")>=0&&f("9223372036854775807")<=0)puts("long long"); if(f("0")>=0&&f("18446744073709551615")<=0)puts("unsigned long long"); puts("string"); return 0; }
- 1
信息
- ID
- 12399
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者