1499: 橙子姐姐的围棋
描述
题目描述:
橙子姐姐是东秦有名的围棋高手当他打败东秦所有围棋高手后,独自对着棋盘发呆。他发现,他下的奇葩围棋棋盘由m*n(1<m,n<10000)个点组成了若干个正方形(每个小格子都是1个正方形),现在橙子姐想知道这个棋盘中有多少个正方形。图为19*19的棋盘
输入:
第一行输入t(1<=t<=15)表示有t组输入数据,接下来的t行每组占1行每行2个数m和n
输出:
每组输出数据占一行,每行输出一个数代表正方形个数。
样例输入
3
19 19
233 666
1000 1000
样例输出
2109
15892464
332833500
#include<bits/stdc++.h> using namespace std; const int maxn = 105; typedef long long ll; ll a[10005]; void fun() { a[1] = 1; a[2] = 5; for(int i = 3;i <= 10000;i ++) { a[i] = a[i-1] + i*i; } } int main() { fun(); int m, n; int t; cin >> t; while(t --) { ll sum = 0; cin >> m >> n; m --; n --; if(m == n) sum = a[m]; else { //m ++; //n ++; sum += m * n; for(int i = 2;i <= min(m,n);i ++) { sum += (max(m,n) - i + 1) * (min(m,n) - i + 1); } } cout << sum << endl; } return 0; }