解析试卷: 2020校招4399游戏开发岗笔试编程题

A 题意:

思路:

是简单模拟题,注意审题是说n次落地时共经过了多少米,所以要算上之前一次反弹的高度。

代码:

#include<bits/stdc++.h>

using namespace std;

int main()
{
    int n,i,j,t;
    cin>>n;
    double s1=100,s2=0,pre=0;
    while(n--)
    {
        s2+=s1;
        s2+=pre;
        s1/=2.0;
        pre=s1;
    }
    cout<<fixed<<setprecision(6)<<s2<<" "<<s1<<endl;
    return 0;
}

B
题意:
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
思路:
双端队列模拟操作,每次直接跳出一个,复杂度是O(n)
代码:

#include<bits/stdc++.h>

using namespace std;

int main()
{
    deque<int >name;
    int n,i,j;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        name.push_back(i);
    }
    while(name.size()!=1)
    {
        if(name.size()>=3)
        {
            int d1=name.front();
            name.pop_front();
            int d2=name.front();
            name.pop_front();
            name.pop_front();
            name.push_back(d1);
            name.push_back(d2);
        }
        else
        {
            if(name.size()==2){
                name.pop_front();
                cout<<name.front()<<endl;
                name.pop_front();
                break;
            }
        }
    }
    if(name.size()==1){
        cout<<name.front()<<endl;
    }
    return 0;
}

C :小陆每天要写一份工作日报,日报标题含有日期。几年后,他翻开以前的日报,想知道两份日报的日期是否同为星期几,请编程帮助他判断。
思路:
可以模拟,也可以直接用基姆拉尔森计算公式

W = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) mod 7

D :段誉身具凌波微波,动无常则,若危若安,一次能走一级台阶或者两级台阶,他要爬一段30级的山路,问有多少种走法?分析如何计算,然后编程解答。
进阶问题:当他轻功熟练度提升,一次最多可以走三级,那就结果有什么变化?后来走火入魔了,不能走一级,只能走二或三级,又有什么变化?

思路:
简单DP,for循环跑三次,第i级台阶只有可能来自于i-1,i-2,i-3,模拟即可

#include<bits/stdc++.h>

using namespace std;

const int mx=35;
int dp1[mx];
int dp2[mx];
int dp3[mx];
int main()
{
    int n,i,j,t,ans1,ans2,ans3;
    cin>>n;
    dp1[0]=1;
    for(i=1;i<=n;i++)
    {
        if(i-1>=0) dp1[i]+=dp1[i-1];
        if(i-2>=0) dp1[i]+=dp1[i-2];
    }
    dp2[0]=1;
    for(i=1;i<=n;i++)
    {
        if(i-1>=0) dp2[i]+=dp2[i-1];
        if(i-2>=0) dp2[i]+=dp2[i-2];
        if(i-3>=0) dp2[i]+=dp2[i-3];
    }
    dp3[0]=1;
    for(i=1;i<=n;i++)
    {
        if(i-2>=0) dp3[i]+=dp3[i-2];
        if(i-3>=0) dp3[i]+=dp3[i-3];
    }
    cout<<dp1[n]<<" "<<dp2[n]<<" "<<dp3[n]<<endl;
    return 0;
}
#4399游戏2020春招##内推##实习##春招##笔试题目##秋招##C/C++#
全部评论

相关推荐

Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-15 14:22
点赞 评论 收藏
分享
评论
8
8
分享
正在热议
# 25届秋招总结 #
441069次浏览 4495人参与
# 春招别灰心,我们一人来一句鼓励 #
41545次浏览 524人参与
# 北方华创开奖 #
107336次浏览 599人参与
# 地方国企笔面经互助 #
7933次浏览 18人参与
# 同bg的你秋招战况如何? #
75837次浏览 554人参与
# 虾皮求职进展汇总 #
114497次浏览 885人参与
# 阿里云管培生offer #
119958次浏览 2219人参与
# 实习,投递多份简历没人回复怎么办 #
2454217次浏览 34849人参与
# 实习必须要去大厂吗? #
55703次浏览 960人参与
# 提前批简历挂麻了怎么办 #
149846次浏览 1977人参与
# 投递实习岗位前的准备 #
1195775次浏览 18547人参与
# 你投递的公司有几家约面了? #
33182次浏览 188人参与
# 双非本科求职如何逆袭 #
661978次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4734次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157608次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11417次浏览 276人参与
# 发工资后,你做的第一件事是什么 #
12467次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35657次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20096次浏览 240人参与
# 我的上岸简历长这样 #
451947次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39252次浏览 314人参与
# 非技术岗是怎么找实习的 #
155855次浏览 2120人参与
牛客网
牛客企业服务