zoukankan      html  css  js  c++  java
  • HDU5100 Chessboard【组合数学】

    Chessboard

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

    Total Submission(s): 1222    Accepted Submission(s): 526
    Problem Description
    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.
    Input
    There are multiple test cases in the input file.
    First line contain the number of cases T (T10000). 
    In the next T lines contain T cases , Each case has two integers n and k. (1n,k100)
    Output
    Print the maximum number of chessboard squares tiled.
    Sample Input
    2 6 3 5 3
    Sample Output
    36 24
    Source

    问题链接HDU5100 Chessboard

    问题简述:(略)

    问题分析这是一个组合数学问题,计算原理参见参考链接。

    程序说明:(略)

    题记:(略)


    参考链接Matrix67: The Aha Moments


    AC的C++语言程序如下:

    /* HDU5100 Chessboard */
    
    #include <iostream>
    
    using namespace std;
    
    int getnum(int n, int k)
    {
        if(n < k)
            return 0;
        int m = n % k;
        if(m <= k / 2)
            return n * n - m * m;
        else
            return n * n - (k - m) *(k - m);
    }
    
    int main()
    {
        std::ios::sync_with_stdio(false);
    
        int t, n, k;
    
        cin >> t;
        while(t--) {
            cin >> n >> k;
    
            cout << getnum(n, k) << endl;
        }
    
        return 0;
    }




  • 相关阅读:
    SA(后缀数组)专题总结
    LCT总结
    多项式全家桶
    fft.ntt,生成函数,各种数和各种反演
    P3939 数颜色
    P1879 [USACO06NOV]玉米田Corn Fields
    主席树模板
    P2633 Count on a tree
    P1972 [SDOI2009]HH的项链
    数论
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563560.html
Copyright © 2011-2022 走看看