您的位置:首页 > 其它

hdoj--5100--Chessboard(数学推理)

2016-03-05 16:46 405 查看


Chessboard

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 910 Accepted Submission(s): 384



[align=left]Problem Description[/align]
Consider the problem of tiling an n×n chessboard by polyomino pieces that are k×1 in size; Every one of the k pieces of each polyomino tile must align exactly with one of the chessboard squares. Your task is to figure out the maximum
number of chessboard squares tiled.

[align=left]Input[/align]
There are multiple test cases in the input file.

First line contain the number of cases T (T≤10000).

In the next T lines contain T cases , Each case has two integers n and k. (1≤n,k≤100)

[align=left]Output[/align]
Print the maximum number of chessboard squares tiled.

[align=left]Sample Input[/align]

2
6 3
5 3


[align=left]Sample Output[/align]

36
24


[align=left]Source[/align]
BestCoder Round #17

我去你妹的数学题,真坑
http://www.matrix67.com/blog/archives/5900
#include<cstdio>
#include<cstring>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,k;
scanf("%d%d",&n,&k);
if(k>n)
printf("0\n");
else
{
int num=n%k;
if(num>k/2)
num-=k;
printf("%d\n",n*n-num*num);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: