0pts 求大佬帮助
查看原帖
0pts 求大佬帮助
1334189
Liyuhui222楼主2025/1/8 19:10

也是成功(W)A了

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,m;
    cin >> n >> m;
    int sum1 = 0;
    int sum2 = 0;
    //枚举1~min(n,m),最大可以构成边长为min(n,m)的正方形,边长为x的正方形个数为(n-x)*(m-x) 
    for(int i = 1;i <= min(n,m);i++)
    {
        sum1 += (n - i + 1) * (m - i + 1);
    }
    //枚举长方形左上角
    for(int i = 1;i < n;i++)
    {
        for(int j = 1;j < m;j++)
        {
            //枚举长方形右下角
            for(int l = i + 1;l <= n;l++)
            {
                for(int k = j + 1;k <= m;k++)
                {
                    sum2++;
                }
            }
        }
    }
    //由于计算长方形时包含了正方形,所以输出时减掉
    cout << sum1 << ' ' << sum2 - sum1;
}
2025/1/8 19:10
加载中...