https://www.luogu.org/problem/show?pid=1548#sub
题目描述
设有一个N*M方格的棋盘(l<=N<=100,1<=M<=100)(30%)
求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。
例如:当 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:
2 3
输出样例#1:
8 10
1 #include <algorithm> 2 #include <cstdio> 3 4 using namespace std; 5 6 int n,m,ans1,ans2; 7 8 int main() 9 { 10 scanf("%d%d",&n,&m); 11 if(n>m) swap(n,m); 12 for(int i=1;i<=n;i++) ans1+=(m-i+1)*(n-i+1); 13 for(int i=1;i<=n;i++) 14 for(int j=1;j<=m;j++) 15 if(i!=j) ans2+=(n-i+1)*(m-j+1); 16 printf("%d %d",ans1,ans2); 17 return 0; 18 }
时间: 2024-12-29 10:19:01