zoukankan      html  css  js  c++  java
  • 【hdu5100】棋盘覆盖

    http://acm.hdu.edu.cn/showproblem.php?pid=5100

    题目大意:

    用1*k的木块铺n*n的棋盘,求多铺满多少个单位格。

    方法:

    n < k,显然无解;n >= 2 * k,总可以转换成n - k的情况,因为那一部分总可以铺满,于是最终可以转换成n < 2 * k 情况,这种情况下有两种不同的方式铺,一种是一行行铺,还一种是旋转铺,推推公式就行了。

    代码:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cmath>
     5 #include <algorithm>
     6 #include <map>
     7 #include <vector>
     8 #include <stack>
     9 #include <string>
    10 #include <ctime>
    11 #include <queue>
    12 #define mem0(a) memset(a, 0, sizeof(a))
    13 #define mem(a, b) memset(a, b, sizeof(a))
    14 #define lson l, m, rt << 1
    15 #define rson m + 1, r, rt << 1 | 1
    16 #define eps 0.0000001
    17 #define lowbit(x) ((x) & -(x))
    18 #define memc(a, b) memcpy(a, b, sizeof(b))
    19 #define x_x(a) ((a) * (a))
    20 #define LL long long
    21 #define DB double
    22 #define pi 3.14159265359
    23 #define MD 10000007
    24 #define INF (int)1e9
    25 #define max(a, b) ((a) > (b)? (a) : (b))
    26 using namespace std;
    27 
    28 int main()
    29 {
    30         //freopen("input.txt", "r", stdin);
    31         //freopen("output.txt", "w", stdout);
    32         int T;
    33         cin>> T;
    34         while(T--) {
    35                 int n, k;
    36                 scanf("%d%d", &n, &k);
    37                 int nn = n;
    38                 if(nn >= k) {
    39                         nn = nn % k + k;
    40                         int tmp = min(2 * k - nn, nn - k);
    41                         printf("%d
    ", n * n - tmp * tmp);
    42                 }
    43                 else printf("0
    ");
    44         }
    45         return 0;
    46 }
    View Code
  • 相关阅读:
    比赛:小奔的方案 solution
    比赛:小奔的矩形solution
    比赛:小奔与不等四边形solution
    NOIP2018普及T2暨洛谷P5016 龙虎斗
    Java-GUI基础(三)java.swing
    Java-GUI基础(二)java.awt
    Java-GUI基础(一)
    Java集合(类)框架(三)
    Java集合(类)框架(二)
    Java集合(类)框架(一)
  • 原文地址:https://www.cnblogs.com/jklongint/p/4095197.html
Copyright © 2011-2022 走看看