zoukankan      html  css  js  c++  java
  • HDU 5100

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

    用1*k方格覆盖n*n方格

    有趣的一道题,查了下发现m67的博客还说过这个问题

    其实就是两种摆法取个最大值

    1、横着摆放竖着补全,形成边长n%k的正方形

    2、在一个角摆成风车形(边长k+n%k),中间形成边长为k-n%k的正方形

    http://www.matrix67.com/blog/archives/5900

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <queue>
    #include <map>
    
    using namespace std;
    
    int main(){    
        int T;
        scanf("%d",&T);
        while(T--){
            int n,k;
            scanf("%d%d",&n,&k);
            if(n<k)printf("0
    ");
            else if(n%k==0)printf("%d
    ",n*n);
            else printf("%d
    ",n*n-min((n%k)*(n%k),(k-n%k)*(k-n%k)));
        }
        return 0;
    }
    View Code
  • 相关阅读:
    《我曾》火了:人这辈子,最怕突然听懂这首歌
    SpringMVC的运行流程
    Directive 自定义指令
    Vue 过滤器
    MVC 和 MVVM的区别
    vue指令
    async
    Generator
    单词搜索
    Promise
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/4107110.html
Copyright © 2011-2022 走看看