网易互娱笔试5/28

三道编程,每道100分

1.签到题对应加和输出就完了

AC

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        long []ans = new long [4];
        //atk atkper def spd
        for(int i = 0;i<6;i++){
            String s = in.next();
            switch (s){
                case "atk":ans[0]+=in.nextInt();break;
                case "atkper":ans[1]+=in.nextInt();break;
                case "def":ans[2]+=in.nextInt();break;
                case "spd":ans[3]+=in.nextInt();break;
            }
            int n = in.nextInt();
            for(int j=0;j<n;j++){
                String st = in.next();
                switch (st){
                    case "atk":ans[0]+=in.nextInt();break;
                    case "atkper":ans[1]+=in.nextInt();break;
                    case "def":ans[2]+=in.nextInt();break;
                    case "spd":ans[3]+=in.nextInt();break;
                }
            }
        }
        System.out.println("atk "+ans[0]);
        System.out.println("atkper "+ans[1]);
        System.out.println("def "+ans[2]);
        System.out.println("spd "+ans[3]);
    }
}

2.n个位置,每个位置可以放1到7的任意数(包含1和7),要求n个数相加为m时,对于每个1到7的每个i,给出i能出现的最多次数。

考虑过dp,没搞出来,痛苦面具

过10%

思路:m/i大于n或刚好等于n的,说明i的出现最多次数就是m/i;否则,emm,不好说


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int n = in.nextInt();
            int m = in.nextInt();
            int []ans = new int[8];
            for(int i = 7;i>=1;i--){
                if(m/i<n || ( m/i==n && m%i==0))ans[i]=(m/i);
                else{for(int j = 1;j<n;j++){
                        if(i*j+7*(n-j)>=m){
                            ans[i]++;
                        }else break;
                    }
                }

            }
            for(int i = 1;i<=7;i++){
                System.out.println(ans[i]);
            }
        }
    }
}

3.题目没怎么看就跑路了,看到路径就头疼

直输-1骗了5%


欢迎大家讨论!

#我的实习求职记录#
全部评论
第二题当数学题做,直接O1
1 回复 分享
发布于 2024-05-29 01:23 山东
第二题就是数学题,就是尽量多放x个i,其他m-x就放1或者7,看能不能在范围n内
1 回复 分享
发布于 2024-05-28 22:58 广东
我也做过,得分100 75 75。第一题就不说了,第二题忘了,第三题是实际上是dfs7个机子中选5个的排列,头尾加上起点和终点,对相邻两个点求bfs,其实很暴力,过75%
点赞 回复 分享
发布于 2024-06-06 16:07 广东
第二题暴力 过了25%
点赞 回复 分享
发布于 2024-06-03 15:50 浙江
不同岗题目一样吗,数据挖掘和开发
点赞 回复 分享
发布于 2024-05-31 15:10 北京
第二题二分答案
点赞 回复 分享
发布于 2024-05-29 11:32 北京
第二题,我是二分做的😂
点赞 回复 分享
发布于 2024-05-28 23:12 江苏
第三题有佬说一下吗,没碰到过这种带重复的dfs
点赞 回复 分享
发布于 2024-05-28 23:09 四川
第二题能给个范围吗
点赞 回复 分享
发布于 2024-05-28 22:25 湖南
跑的好
点赞 回复 分享
发布于 2024-05-28 22:19 北京

相关推荐

评论
9
16
分享

创作者周榜

更多
牛客网
牛客企业服务