Time Limit: Unknown | Memory Limit: Unknown | 64bit IO Format: %lld & %llu |
Description
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
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 ⋅ 10 4 , 0 ≤ k ≤ 10 9 ).
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
#include<queue>
0
1562562500625000000
#include<math.h>
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 115 long long n,m,k,sum; int main()
{
while(~scanf("%lld%lld%lld",&n,&m,&k))
{ sum=0;
for(long long i=1;k-2*i>=2&&i<=n;i++)
{
long long mi=min((k-2*i)/2,m);
long long x=n-i+1,y=m+1;
sum+=x*(mi*y-(1+mi)*mi/2);
}
printf("%lld\n",sum);
} return 0;
} //freopen("1.txt", "r", stdin);
//freopen("2.txt", "w", stdout);
//************************************** 省赛中的一题,暴力枚举,没想出来真是不应该,想出来就铜牌了
版权声明:本文为博主原创文章,未经博主允许不得转载。