题目背景
1997年普及组第一题
题目描述
有一个n*m方格的棋盘,求其方格包含多少正方形、长方形
输入输出格式
输入格式:
n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100)
输出格式:
方格包含多少正方形、长方形
输入输出样例
输出样例#1:
8 10
计算矩形中小矩形个数公式:(((1+n)*(1+m))*(n*m))/4;
注:n,m为其边长,个数中仍包含有特殊矩形(正方形);
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int main() { long long n,m; long long ans1=1,ans2=0; cin>>n>>m; ans1=n*m; long long p=(((1+n)*(1+m))*(n*m))/4; while(n--&&m--) { ans1+=(n*m); } cout<<ans1<<" "<<p-ans1; }