noip1997 棋盘 (数列求和)
2015-08-13 23:17
375 查看
A1108. 棋盘
时间限制:1.0s 内存限制:256.0MB
总提交次数:613
AC次数:435 平均分:77.03
将本题分享到:
查看未格式化的试题 提交 试题讨论
试题来源
NOIP1997 普及组
问题描述
1.设有一个n*m方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
例如:当n=2,m=3时
正方形的个数有8个;即边长为1的正方形有6个;
边长为2的正方形有2个。
长方形的个数有10个;
即2*1的长方形有4个;
1*2的长方形有3个;
3*1的长方形有2个;
3*2的长方形有1个。
程序要求:输入:n和m 输出:正方形的个数与长方形的个数
输入格式
一行两个数N,M
输出格式
一行两个数,分别为正方形个数和长方形个数。
样例输入
2 3
样例输出
8 10
数据规模和约定
1≤m,n≤100
解析:用到了连续自然数平方和求和公式+等差数列求和公式。
假设n为长,m为宽,则与棋盘长平行边的长度为i,与棋盘宽平行的长度为j的矩形共有:
(n-i+1)*(m-j+1)
当i==j时,即为正方形,否则即为长方形。
代码:
这个是交到
洛谷2241统计方形 加强版 的代码,交清橙上的话,long long 可以改为int。
时间限制:1.0s 内存限制:256.0MB
总提交次数:613
AC次数:435 平均分:77.03
将本题分享到:
查看未格式化的试题 提交 试题讨论
试题来源
NOIP1997 普及组
问题描述
1.设有一个n*m方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
例如:当n=2,m=3时
正方形的个数有8个;即边长为1的正方形有6个;
边长为2的正方形有2个。
长方形的个数有10个;
即2*1的长方形有4个;
1*2的长方形有3个;
3*1的长方形有2个;
3*2的长方形有1个。
程序要求:输入:n和m 输出:正方形的个数与长方形的个数
输入格式
一行两个数N,M
输出格式
一行两个数,分别为正方形个数和长方形个数。
样例输入
2 3
样例输出
8 10
数据规模和约定
1≤m,n≤100
解析:用到了连续自然数平方和求和公式+等差数列求和公式。
假设n为长,m为宽,则与棋盘长平行边的长度为i,与棋盘宽平行的长度为j的矩形共有:
(n-i+1)*(m-j+1)
当i==j时,即为正方形,否则即为长方形。
代码:
这个是交到
洛谷2241统计方形 加强版 的代码,交清橙上的话,long long 可以改为int。
#include<cstdio> #include<algorithm> using namespace std; int main() { long long n,m,s1,s2; scanf("%I64d%I64d",&n,&m); if(m>n)swap(m,n); s1=m*(m+1)*(3*n+1-m)/6; s2=n*m*(n+1)*(m+1)/4; printf("%I64d %I64d\n",s1,s2-s1); return 0; }
相关文章推荐
- Uva 673 Parentheses Balance
- [2015-08-10] python021
- 读《javascript权威指南》第五版 第七章 对象与数组
- 在intellj idea下用sbt的坑
- MapReduce入门例子
- 数三退一问题 java
- leetcode 123: Best Time to Buy and Sell Stock III
- OpenCV机器学习库MLL
- c++继承
- Android源码大放送(实战开发必备)
- 架构师速成之路
- linux设备模型(三 device)
- 一个继承的小案例与解析
- Protocol - 4
- 进程的三种基本状态及其转换
- MyEclipse中的常用技巧
- 逻辑非运算符
- linux系统函数积累
- 源码分析looper,messagequeue及handler的创建调用过程
- java.util.ConcurrentModificationException 卧槽