华师一附中OI组

标题: p1548 棋盘问题 [打印本页]

作者: WJL    时间: 2018-5-28 21:36
标题: p1548 棋盘问题
设有一个N*M方格的棋盘(1<=N<=100,1<=M<=100)
求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。
例如:当 N=2, M=3时:
正方形的个数有8个:即边长为1的正方形有6个;
边长为2的正方形有2个。
长方形的个数有10个:
即2*1的长方形有4个:
1*2的长方形有3个:
3*1的长方形有2个:
3*2的长方形有1个:
如上例:输入:2 3
输出:8 10
输入输出格式输入格式:

N和M

输出格式:

正方形的个数与长方形的个数

输入输出样例输入样例#1:
[size=1.2][url=]复制[/url]
2 3
输出样例#1:
[size=1.2][url=]复制[/url]
8 10



作者: WJL    时间: 2018-5-28 21:36
  1. #include<iostream>
  2. using namespace std;
  3. int n,m,a=0,b;
  4. int main()
  5. {
  6.     cin>>n>>m;
  7.   b=((m+1)*(n+1)*m*n)/4;
  8. for(;m>=1&&n>=1;m--,n--)
  9.   a+=m*n;                       
  10. cout<<a<<" "<<b-a;
  11.     return 0;
  12. }
复制代码

作者: WJL    时间: 2018-5-28 21:38
///用a代表正方形,b代表长方形。
///长方形与正方形的差即为b-a;




欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2