[英]count rectangles in n*n chessboard
任务:计算总数我使用了这里给出的方法计数矩形
即 ((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;
}
您的结果和解决方案之间的差异等于平方数:
n(n+1)(2n+1)/6
您的结果对应于矩形的数量,包括正方形。
我想预期的是不是正方形的矩形的数量。
此外,绝对避免
#define int unsigned long long
我没有时间搜索和列出所有不这样做的原因。 一个对我来说就足够了:代码变得不可读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.