FOJ 1476 矩形的个数

一,题目描述

二,问题分析

1.公式法:长方形的个数 = 长边上的线段和×宽边上的线段和

2.排列组合法

一个长方形由四个顶点,四条边所确定

以一行m列为例,只有一行,所以长方形的宽已经确定为1,而长的确定就是组合问题,即在n个点中找两个点组合,注意这两个点可以重合,所以是C(m+1,2)

扩展问题,一个n行m列的长方形中,宽的组合 数C(n+1,2),长的组合数C(m+1,2)

故总共的长方形个数:C(n+1,2)*C(m+1,2)

三,代码解答

#include<stdio.h>
int main()
{
    long long int a, b;
    while (scanf_s("%lld%lld", &a, &b) != EOF)          //输入不止一组数据
        printf("%lld\n", a * (a + 1) / 2 * b * (b + 1) / 2);
    return 0;
}

1.输入数据不止一组, while (scanf_s("%lld%lld", &a, &b) != EOF) 

2.输入的两个整数最大可取 1000  ,其得到的结果超过了 int 类型的范围,故取 long long 类型

发布了54 篇原创文章 · 获赞 14 · 访问量 3588

猜你喜欢

转载自blog.csdn.net/q2511130633/article/details/105030268