这类题目几乎不需要数据结构,算法基础,主要通过简单的逻辑流程和判断实现。
题目描述如下:
题目大意:
判断A+B是否大于C。
大致思路:
A+B的取值可能会超过long long 的取值范围,暂时不考虑溢出的情况,进行简单的编码。
提交结果如下:
只经过了一个测试用例。果然有溢出的情况,暂时不知道如何处理溢出。
提交代码如下:
#include<iostream>
using namespace std;
int main()
{
long long a,b,c;
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a>>b>>c;
if(a+b<=c)
{
cout<<"Case #"<<i+1<<": false"<<endl;
}
else
{
cout<<"Case #"<<i+1<<": true"<<endl;
}
}
}
经过查看别人的代码后学习了处理溢出的情况:
判断a+b是否大于c。这里需要注意的是a+b可能溢出,如果a大于0且b大于0,但相加得到的却是小于等于0的说明是正溢出,这时肯定比c大(因为c肯定在long long的范围内)。如果a小于0且b小于0,但相加得到的却是大于等于0的说明是负溢出,这是肯定比c小。其他情况就和平常计算一样。这里还要注意a+b要赋值给一个变量再和c比较。
再次提交的结果:
本次提交后,累计得分222,排名21251。