任务:计算总数 我使用了count rectangles
即((n + 1)c2)^ 2
逻辑似乎是正确的,因为它通过了所有小的测试用例 如果要在结果计算过程中将其截断,那我该如何避免
但失败
输入: 9384
其正确的输出是: 1938754650726740
您的代码的输出为: 1939030144736400
#include<iostream>
using namespace std;
#define int unsigned long long
int32_t main() {
int t;
cin>>t;
while(t--){
int n;
cin>>n;
n=n+1;
int t = ((n*(n-1))>>1);
t=t*t;
cout<<t<<endl;
}
return 0;
}
答案 0 :(得分:0)
您的结果与解决方案之间的差等于平方数:
n(n+1)(2n+1)/6
您的结果对应于矩形的数量,包括正方形。
我猜应该是不是正方形的矩形的数量。
此外,绝对避免
#define int unsigned long long
我没有时间搜索并列出所有不这样做的原因。一个对我来说足够了:代码变得不可读。