360笔试E卷0827前端

40道选择题,2道编程题(老师捞我和组队吃鸡)
整体来说,比较简单,正好适合我这样的选手

两道编程题都ac了,下面简单写一下
编程题代码是回忆的,不是当时写的,不一定对, 但是思路应该没错

1. 老师捞我
      题目:已知期末成绩  f , 平时分占比 p , 期末成绩占比q。 总成绩等于  :(平时分占比 * 平时分)+ ( 期末成绩占比 * 期末成绩 
       及格标准是总成绩大于等于60。现在给每个同学打平时分,要求在期末成绩越高,平时分越高的前提下使及格的人数最多
       思路:期末成绩从大到小排序,给第一个也就是成绩最高的平时分打100分,遍历期末成绩,遇到后成绩不等于前一个成绩的,平时分就减一

const [n,p,q] = read_line().split(" ").map((item)=>parseInt(item))
const score = read_line().split(" ").map((item)=>parseInt(item))

score.sort((a,b)=>b-a)
let normal = 100
let ans = 0
for(let i=0;i<n;i++){
    if(i>0 && score[i]!=socre[i-1]){
        normal--
    }
    let last = normal*p/100 + score[i]*q/100
    if(last>=60){
        ans++
    }
}
console.log(ans)


2. 组队吃鸡
    题目:A表示 1 个人队伍,B表示 2 个人队伍, C表示 3 个人, D表示4个人的队伍。可以任意将一个队伍加入到另一个队伍,产生一个新队伍,
            但是人数不能大于4, 也不拆队,必须整体加入。 求4个人的队伍最多有多少个
    思路: D的队伍不需要动,结果直接加入D的个数; C的队伍只能和A结合,结果加他们的较小者就好了; A减去和C结合的个数后,A,B之间可以任意组合,结果加入 Math.floor(A+2*B)/4
const n = parseInt(read_line())

for(let i=0;i<n;i++){
    let arr = read_line().split(" ").map((item)=>parseInt(item))
    let res = arr[3]
    let r1r3 = Math.min(arr[0],arr[2])
    res += r1r3
    arr[0] -= r1r3
    res += Math.floor((arr[0]+arr[1]*2)/4)
    console.log(res)
}



    


#360笔试#
全部评论
吃鸡那个题目没看懂,方便解释一下吗
点赞 回复 分享
发布于 2022-08-30 09:29 广东
我也e卷,题还不一样
点赞 回复 分享
发布于 2022-08-27 20:26 广东

相关推荐

06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
评论
2
25
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务