• CF1A Theatre Square


    一道数学题。
    这题我居然写了20min。我太弱了。。
    好了,看这道题之前,我们先学一个函数:cmath库里头的ceil函数,作用是向上取整,和floor就是反过来。
    进入正文:
    读读题,只要是个人都能想到n*m/a*a这做法吧,手动模拟一下:嗯,答案没错。
    然后写上了CF1A的第一个代码。
    Code:

    #include<iostream>
    #include<cmath>
    #define ll long long
    using namespace std;
    int n,m,a;
    int main(){
        cin>>n>>m>>a;
        cout<<ceil((m*n)/(a*a));
        return 0;
    }

    等等!怎么答案少个2?
    那我乘上个2好了。
    Code:

    #include<iostream>
    #include<cmath>
    #define ll long long
    using namespace std;
    int n,m,a;
    int main(){
        cin>>n>>m>>a;
        cout<<2*ceil((m*n)/(a*a));
        return 0;
    }

    然后妥妥WA了。
    方法不对?那我们来加加减减看看能不能得到样例。我们首先把n=m=6,a=4带入,发现好像((m+1)/(a-1))+((n+1)/(a-1))这个式子符合答案诶。
    舒服!
    Code:

    #include<iostream>
    #include<cmath>
    #define ll long long
    using namespace std;
    int n,m,a;
    int main(){
        cin>>n>>m>>a;
        cout<<ceil(((m+1)/(a-1))+((n+1)/(a-1)));
        return 0;
    }

    交上去你会发现你RE了..
    别急,让我们再考虑一下最初的做法。没啥不对吧?
    除数是a,那么我们想一个问题:(n*m)/(a*a)不就等价于(n/a)(m/a)吗!
    带入这个式子,再想想C++的某些东西。除数是个a,显然要用实数来解决这个a啊。好的!解决了吧!
    Code:

    #include<iostream>
    #include<cmath>
    #define ll long long
    using namespace std;
    ll n,m,a;
    int main(){
        cin>>n>>m>>a;
        cout<<(ceil(n/(double)a)*ceil(m/(double)a));
        return 0;
    }

    又WA了..?
    让我们看看怎么回事..输出了1e18??显然是实数的锅锅。
    Code:(AC)

    #include<iostream>
    #include<cmath>
    #define ll long long
    using namespace std;
    ll n,m,a;
    int main(){
        cin>>n>>m>>a;
        cout<<(long long)(ceil(n/(double)a)*ceil(m/(double)a));
        return 0;
    }

    本来这就是个入门难度的题,发这些上来只是为了巩固一下C++基础和一些奇奇怪怪的想法罢了。
    NOIP 2018 RP++.

  • 相关阅读:
    [Alibaba微服务技术入门]_服务配置中心进阶_第6讲
    [Alibaba微服务技术入门]_服务配置中心入门_第5讲
    [Alibaba微服务技术入门]_整合OpenFeign实现远程调度_第4讲
    [Alibaba微服务技术入门]_服务的消费_第3讲
    CSS居中对齐终极指南
    13 条高效实用的 JavaScript 单行代码
    写个锤子JS!它应该是你最后的选择
    Vue.js 实现的 3D Tab菜单
    15个超强悍的CSS3圆盘时钟动画赏析
    Node.js 安全指南
  • 原文地址:https://www.cnblogs.com/kenlig/p/9833803.html
Copyright © 2020-2023  润新知