P2241 統計方形(資料加強版)

2021-10-07 20:19:32 字數 1084 閱讀 1323

題目背景

2023年普及組第一題

題目描述

有乙個n*m方格的棋盤,求其方格包含多少正方形、長方形

輸入格式

n,m因為原來資料太弱,現規定m小於等於5000,n小於等於5000(原來是100,100)

輸出格式

方格包含多少正方形、長方形

輸入輸出樣例

輸入 #1

2 3

輸出 #1

8 10

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

int n,m,t;

long

long ans =

0,ant =0;

intmain()

}

cout << ans <<

" "<< ant-ans << endl;

return0;

}

一、算正方形的個數

1.如果我們固定了正方形的右下角(i,j),你能不能算出此時可能的正方形的個數?

2.顯然,此時答案為min(i,j).

3.所以可以列舉右下角,計算此時答案,求和即可。

二、算長方形個數

1.其實算長方形並不常見,但算矩形大家應該經常遇到,所以如果你會算矩形,再聯絡第乙個問題,那答案就轉化為 矩形個數-正方形個數.

2.像求解正方形個數一樣,固定矩形右下角(i,j),顯然此時矩形個數為i*j.

3.同理,求和即可.

P2241 統計方形(資料加強版)

目錄參考文章 題目傳送門 1997年普及組第一題 有乙個 n times mn m 方格的棋盤,求其方格包含多少正方形 長方形 不包含正方形 一行,兩個正整數 n,mn,m n leq 5000,m leq 5000n 5000,m 5000 一行,兩個正整數,分別表示方格包含多少正方形 長方形 不...

洛谷 P2241 統計方形(資料加強版)

洛谷 p2241 統計方形 資料加強版 include using namespace std intmain chang ju zheng cout 對於這道題,我們先考慮第乙個問題 一 算正方形的個數 1.如果我們固定了正方形的右上角 i,j 你能不能算出此時可能的正方形的個數?2.顯然,此時答...

洛谷 p2241 統計方形(思維)

求乙個n m的棋盤格上有多少個不同的正方形,多少個不同的長方形。用兩個for來模擬矩形的兩個邊,看這個矩形能在該棋盤格上擺出多少個不同的位置即可,如果矩形邊長相同則結果加到正方形上,反之則加到長方形上。include using namespace std define int long long ...