华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 880|回复: 2
打印 上一主题 下一主题

p1548 棋盘问题

[复制链接]

3

主题

50

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
跳转到指定楼层
楼主
发表于 2018-5-28 21:36:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设有一个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


回复

使用道具 举报

3

主题

50

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
沙发
 楼主| 发表于 2018-5-28 21:36:41 | 只看该作者
  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. }
复制代码
回复 支持 反对

使用道具 举报

3

主题

50

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
板凳
 楼主| 发表于 2018-5-28 21:38:24 | 只看该作者
///用a代表正方形,b代表长方形。
///长方形与正方形的差即为b-a;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 22:22 , Processed in 0.140543 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表