hdoj 5100 Chessboard (思维规律)
2016-08-22 14:08
267 查看
Chessboard
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1086 Accepted Submission(s): 463
[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
题意:在一个n*n的网格中放1*k大小的瓷片,问可以放置的最大小网格数是多少
思维探索
1)n<k一定不能放
2)r=n%k:
r<=k/2时,现横着放,最后r列竖着放,最后只剩r*r的小方格不能放
r>k/2时,现横着放,最后r+k的方格中按风车形状放,最后只剩(k-r)*(k-r)的方格不能放
#include<cstdio> int main() { int t,n,k; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); int ans; if(n<k) ans=0; else { int r=n%k; if(r<=k/2) ans=n*n-r*r; else ans=n*n-(k-r)*(k-r); } printf("%d\n",ans); } return 0; }
相关文章推荐
- hdoj Chessboard 5100 (数学几何规律)
- HDOJ 5100 Chessboard【规律】
- hdoj 5100 Chessboard 【思维】
- URAL —— 1255 & HDU 5100——Chessboard ——————【数学规律】
- HDU 5100 Chessboard(BestCoder Round #17)(找规律)
- HDOJ 题目5100 Chessboard(数学乱搞)
- HDOJ 5100 Chessboard (骨牌覆盖问题)
- HDU 5100 Chessboard (用k×1的矩形覆盖n×n的正方形)(找规律)
- HDOJ 5100 Chessboard 构造
- 思维 hdu 5100 (chessboard)
- hdoj 5100 Chessboard
- hdoj--5100--Chessboard(数学推理)
- 【HDU】-5100-Chessboard(思维)
- hdoj--5100--Chessboard(数学推理)
- hdoj 4810 Wall Painting 【思维 + 组合数学】
- hdoj ZYB's Game 5901 (数学规律题)
- hdoj-2277-Change the ball【规律】
- 思维题 HDOJ 5288 OO’s Sequence
- HDOJ 3788 zoj问题【规律题】
- hdoj 1021||nbut 1013 Fibonacci Again (规律)