Rectangle
frog has a piece of paper divided into n rows and m columns. Today, she would like to draw a rectangle whose perimeter is not greater than k.
There are 8 (out of 9) ways when n = m = 2, k = 6
There are 8 (out of 9) ways when n=m=2,k=6
Find the number of ways of drawing.
Input
The input consists of multiple tests. For each test:
The first line contains 3 integer n,m,k (1≤n,m≤5⋅104,0≤k≤109).
Output
For each test, write 1 integer which denotes the number of ways of drawing.
Sample Input
2 2 6
1 1 0
50000 50000 1000000000
Sample Output
8
0
1562562500625000000
题意:多组输入,n,m,k 分别代表长方形的长,宽,涂色长方形的周长最大值
思路:用枚举法解决,举1条边,另一条边用k/2表示,比如周长是12,那么一半就是12/2=6,一条边为1的话,另一条边范围是1-5,然后这是个等差数列,然后求一下和,相乘就可以
#include<iostream>
#include<algorithm>
#include<string.h>
#include<queue>
#include<stdio.h>
#define ll long long
using namespace std;
int main()
{
long long n,m,k;
while(scanf("%lld%lld%lld",&n,&m,&k)!=EOF)
{
long long i,j,l,g,h,sum=0;
k=k/2;
for(i=1;k-i>0&&i<=n;i++)
{
j=min(m,k-i);
g=(m+m-j+1)*j/2;
h=(n-i+1);
sum+=h*g;
}
printf("%lld\n",sum);
}
return 0;
}