膜拜daolao(~~然而我真的没学过~~)
by Accele_Rator @ 2017-11-04 19:21:18
搜索比较简单吧,要不然还要推公式。
by hjfzzm @ 2017-11-04 19:23:53
没学过【仰望巨佬】.
by 鸫鸦 @ 2017-11-07 15:11:31
~~没学过~~
by 作死成功了 @ 2017-12-06 20:19:37
好水好水!!~~(然而我做了一个小时,突然想起公式)~~
by ⚡GG⚡ @ 2018-03-03 15:01:00
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,c=0,z=0,i,j,k=0,o=0;
cin>>n>>m;
for(i=0;i<=n;i++)
z=z+(m-i)*(n-i);
for(i=n;i>=1;i--)
k+=i;
for(i=m;i>=1;i--)
o+=i;
for(i=1;i<=o;i++)
for(j=1;j<=k;j++)
c++;
cout<<z<<" "<<c-z;
return 0;
}
```
18行
by ⚡GG⚡ @ 2018-03-03 15:05:00
@[垃圾一个](/space/show?uid=85933) 请问您,
for(i=n;i>=1;i--)
k+=i;
for(i=m;i>=1;i--)
o+=i;
for(i=1;i<=o;i++)
for(j=1;j<=k;j++)
c++;
能解释一下吗,我看不太懂
by altar @ 2018-11-06 16:54:51
@[垃圾一个](/space/show?uid=85933) 这是我的代码,我也吭哧了半个多小时了,正方形的求出来了,长方形的还未知,您代码里,是如何把所有的四边形求出来的呢?
#include <cstdio>
int n , m , sm , yhm ;
int f[5] ;
int main ( ) {
// sm is solve the squares
// yhm is solve the rectangles
scanf ( "%d%d" , &n , &m ) ;
if ( n > m )
if ( n % m == 0 ) f[1] = n / m ;
else f[2] = n / m + 1 ;
else if ( m % n == 0 ) f[3] = m / n ;
else f[4] = m / n + 1 ;
sm = n * m + // at first
f[1] + f[2] + // if n > m
f[3] + f[4] ; // if m > n
yhm = 1 + n + m ; // the biggest , the line , and the column
// and then , we should look at the inside
for ( int i = 1 ; i <= m ; i ++ )
for ( int j = 1 ; j <= n ; j ++ ) {
if ( i == j ) continue ;
if ( i == m && j == n ) continue ;
yhm ++ ;
}
printf ( "%d %d" , sm , yhm ) ;
return 0 ;
}
by altar @ 2018-11-06 16:56:50
@[Youngore](/space/show?uid=58324) 这里是跑正方形长方形,公式详见《小学奥数举一反三5年级A版》
by ⚡GG⚡ @ 2018-11-06 19:44:34
四边形个数=(m+1)\*(n+1)\*m*n
长方形个数=四边形个数-正方形个数
by dinglinxi0409 @ 2021-07-18 16:10:21