• 字节真题:机器人跳跃问题


    牛客链接:https://www.nowcoder.com/question/next?pid=16516564&qid=362290&tid=49706822

    就是一个数学推导的问题,很简单

     1 // 感觉就是个数学推理的样子
     2 // E(k)=1/2[E(k+1)+H(k+1)]
     3 // 然后E(k+1)越小,E(k)越小,且E(k)必为整数,那么设E(N)=0,然后E(k)向上取整就可以得到E(0)
     4 #include<iostream>
     5 #include<vector>
     6 using namespace std;
     7 
     8 int getRes(vector<int> init,int n){
     9     int E_k_plus=0;
    10     int E_k;
    11     for(int i=0;i<n;++i){
    12         int tmp=E_k_plus+init[n-i-1];
    13         if(tmp%2==0) E_k=tmp/2;
    14         else E_k=tmp/2+1;    
    15         E_k_plus=E_k;
    16     }
    17     return E_k;
    18 }
    19 
    20 
    21 int main(){
    22     int n;
    23     cin>>n;
    24     vector<int> init;
    25     for(int i=0;i<n;++i){
    26         int tmp;
    27         cin>>tmp;
    28         init.push_back(tmp);
    29     }
    30     cout<<getRes(init,n);
    31     return 0;
    32 }

    还有前一题:找零;也很简单,就放一起了

    牛客链接:https://www.nowcoder.com/question/next?pid=16516564&qid=362296&tid=49706822

     1 // 真有这么简单?
     2 #include<iostream>
     3 #include<vector>
     4 using namespace std;
     5 
     6 int getRes(int init){
     7     int res=0;
     8     int retail=1024-init;
     9     int dis[4]={64,16,4,1};
    10     int i=0;
    11     while(retail>0){
    12         res+=retail/dis[i];
    13         retail=retail%dis[i];
    14         i++;
    15     }
    16     return res;
    17 }
    18 
    19 int main(){
    20     int init;
    21     cin>>init;
    22     cout<<getRes(init);
    23     return 0;
    24 }
    心之所愿,永不相忘
  • 相关阅读:
    CentOS7 时间设置与网络同步
    CentOS7 系统升级,删除centos7开机界面多余选,升级至最新的内核
    Docker 编排工具Rancher 2.0
    Docker 编排工具Rancher 1.6.18
    通过WSL在Windows下安装子Linux系统
    Docker 使用Dockerfile构建redis镜像
    初探PHP多进程
    nginx转发
    mime类型
    socket php
  • 原文地址:https://www.cnblogs.com/zgll/p/15501444.html
Copyright © 2020-2023  润新知