題目連結: https://tioj.ck.tp.edu.tw/problems/1015

# 內容

由單位格子整齊排列而成的矩形裡面,總共有多少個正方形?

# 思路

1 × 1 的正方形有 N × M 個、
2 × 2 的正方形有 (N - 1) × (M - 1) 個、
3 × 3 的正方形有 (N - 2) × (M - 2) 個、
……
i × i 的正方形有 (N - i + 1) × (M - i + 1) 個、
……
N × N 的正方形有 M - N + 1 個

因此 Σ (N - i + 1) × (M - i + 1) ,其中 1 ≦ i ≦ N 。

=> Σ N × M + N + M + 1 - i × (N + M + 2)+ i ^ 2
=> (N + 1) × (M + 1) - (N × (N + 1) ÷ 2) × (N + M + 2)+ N * (N + 1) × (2 × N + 1) ÷ 6
=> N × (N + 1) × (3M - N + 1) ÷ 6 其中,N ≦ M

# 程式碼

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){ios::sync_with_stdio(false);cin.tie(0);
    ll n,m;
    while(cin>>n>>m&&n+m){
        if(n>m) swap(n,m);
        ll square = n*(n+1)*(3*m-n+1)/6;
        cout<<square<<"\n";
    }
}
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay