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;
    }




  • 相关阅读:
    让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
    检测到有潜在危险的 Request.Form 值
    jQuery校验
    C#客户端的异步操作
    泛型(一)
    c#面试题汇总
    多线程(下)
    多线程(上)
    线程篇(二)
    线程篇(一)
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563560.html
Copyright © 2011-2022 走看看