AC版本
//书上的想法是先把相加的结果存储到res中,通过判断两数正负和res正负来判断是否溢出
//不溢出的话,再用res和c比较。
dec版本
//我的这个做法似乎是栈溢出,也可能不是。。为什么不能成功我不懂不懂
//没有错误,有警告,并且运行结果不是全部正确
//明确一点,在c语言中,有int——4个字节(10^9以内,-2^31~2^31,对应%d),long long——8个字节(-2^63~2^63,对应%lld)
#include<cstdio>
int main(){
//这题其实想到先加起来和固定边界值比较一下,解决就非常easy了
int n;
long long a=0,b=0,c=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lld%lld%lld",&a,&b,&c);
if(a+b>1L<<63){
//说明必定比c大
printf("Case #%d:true\n",i);
}
else if(a+b<-(1L<<63)){//是否是2^63写的不对呢?
//说明必定比c小
printf("Case #%d:false\n",i);
}
else{
//说明 -2^63<a+b2^63,所以可以比较大小了
if(a+b>c)
printf("Case #%d:true\n",i);
else
printf("Case #%d:false\n",i);
}
}
return 0;
}