2020.11.04@中国光大银行笔试

  • Post author:
  • Post category:其他




光大银行信息科技部 技术综合试卷在线考试

编程题|25.0分1/2



曹老板的求贤令(AC)

时间限制: 3000MS

内存限制: 589824KB

题目描述:

曹老板准备攻打吕布,为扩充战力颁布了求贤令。目前一共有n人前来应征。

曹老板看重武力值和智力值两个指标,但一项多疑的曹老板担心能力过高的人自己驾驭不住,于是只想招武力值X与智力值Y之和小于等于某个数t的人。

曹老板想至少招收k人,他想知道最小的t是多少。

输入描述

第一行两个数n,k。1≤n,x[i],y[i]≤100,000

接下来n行,每行两个数x[i],y[i]分别表示第i个应征者的武力值和智力值

输出描述

一个数表示答案。

样例输入

3 2

96 75

97 30

85 90

样例输出

171

提示

三名应征者的能力值为96+75,97+30,85+90,曹老板设置的指标为t=171,如此可以将其中二人纳入麾下。

规则

请尽量在全场考试结束10分钟前调试程序,否则由于密集排队提交,可能查询不到编译结果

点击“调试”亦可保存代码

编程题可以使用本地编译器,此页面不记录跳出次数

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] nums = new int[n];
        for(int i = 0; i < n; i++){
            int x = sc.nextInt();
            int y = sc.nextInt();
            nums[i] = x+y;
        }

        Arrays.sort(nums);

        System.out.println(nums[k-1]);

    }
}



糖果卡(AC)

时间限制: 3000MS

内存限制: 589824KB

题目描述:

小明最近喜欢上了一种美味的糖果。这种糖果不仅好吃,而且在每盒糖果中还有一张糖果卡。通过收集这些糖果卡可以参与“免费畅游中国”的抽奖活动。具体规则如下:

(1) 糖果卡一共有三种,分别是A卡、B卡和C卡。

(2) 卡片之间进行兑换,3张A卡可以换1张B卡,2张B卡可以换一张C卡。

(3) 集齐一套卡(A卡、B卡和C卡各一张)可以参与一次抽奖。

现在告诉你小明已经拥有的A卡、B卡和C卡的张数,请问他最多可以参与几次抽奖?

输入描述

单组输入。

输入1行,包含三个不超过100000000的正整数,分别表示小明已经拥有的A卡、B卡和C卡的张数,三个正整数之间用空格隔开。

输出描述

输出小明最多可以参与的抽奖次数。

样例输入

8 2 1

样例输出

2

规则

请尽量在全场考试结束10分钟前调试程序,否则由于密集排队提交,可能查询不到编译结果

点击“调试”亦可保存代码

编程题可以使用本地编译器,此页面不记录跳出次数


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int na = sc.nextInt();
        int nb = sc.nextInt();
        int nc = sc.nextInt();


        //找到三者中的最小值
        int count = ((na > nb ? nb : na) > nc ? nc : (na > nb ? nb : na));
        na -= count;
        nb -= count;
        nc -= count;


        while(true){
            if(na >= 1 && nb >= 1 && nc >= 1){
                count++;
                na--;
                nb--;
                nc--;
            }

            if(nc == 0){
                if(nb >= 3){  //2个B换一个C
                    nc+=1;
                    nb-=2;
                }else if(na >= 7){  //6个A换一个C
                    nc+=1;
                    na-=6;
                }else{
                    break;
                }
            }

            if(nb == 0){
                if(na >= 4){  //3个A换一个B
                    nb+=1;
                    na-=3;
                }else{
                    break;
                }
            }

            if(na == 0){
                break;
            }
        }

        System.out.println(count);
    }
}



版权声明:本文为weixin_42072280原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。