首页 > 其他分享 >蓝桥杯——344图书管理员

蓝桥杯——344图书管理员

时间:2024-03-18 19:56:03浏览次数:31  
标签:344 int s2 s1 System 蓝桥 nextInt 管理员 sc

 

 

法一使用取模运算

  1. 对于每本书的图书编码(bookCode),我们需要判断其是否以读者的需求码结尾。
  2. 首先,将需求码的长度作为指数,使用Math.pow(10, demandLength)来得到一个以需求码长度为指数的基数。
  3. 然后,将书的图书编码与这个基数进行取模运算,即bookCode % Math.pow(10, demandLength)。
  4. 如果取模的结果等于需求码(demandCode),则说明书的图书编码以读者的需求码结尾,符合条件。

 

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 q = sc.nextInt();
        int[] s1 = new int[n];
        int[] s2 = new int[2*q];
        for (int i = 0; i < n; i++) {
            s1[i]=sc.nextInt();
        }
        Arrays.sort(s1);
        for (int i = 0; i < 2*q; i++) {
            s2[i]=sc.nextInt();
        }

        for (int i = 0; i < 2*q; i+=2) {
            int j=0;
            int f=-1;
            for (j = 0; j < n; j++) {
                int b=(int)Math.pow(10,s2[i]);
                if((s1[j]%b)==s2[i+1]){
                    f=s1[j];
                    System.out.println(f);
                    break;
                }
            }
            if(j==n&&f==-1){
                System.out.println("-1");
            }
        }
    }
}

 

法二:使用String1.endsWith(String2)判断是否以读者编码结尾

 

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 q =sc.nextInt();
        int[] s1 = new int[n];
        int[] s2 = new int[2*q];
        for (int i = 0; i < n; i++) {
            s1[i]=sc.nextInt();
        }
        for (int i = 0; i < 2*q; i++) {
            s2[i] = sc.nextInt();
        }
        Arrays.sort(s1);//升序排序
        for (int i = 1; i < 2*q; i+=2) {//遍历每一位读者的编码
            for (int j = 0; j < n; j++) {//遍历所有图书编码
                //判断s1[j]是否以s2[i]结尾(注意:整形转化为String)
                if((String.valueOf(s1[j])).endsWith(String.valueOf(s2[i]))){
                    System.out.println(s1[j]);
                    break;
                }
                else if(j==n-1) {//将所有图书遍历完后返回-1
                    System.out.println("-1");
                }
            }
        }
    }
}

 

标签:344,int,s2,s1,System,蓝桥,nextInt,管理员,sc
From: https://www.cnblogs.com/qinuoqwq/p/18081262

相关文章

  • 2023年蓝桥杯省赛——幸运数字
    目录题目链接:0幸运数字-蓝桥云课(lanqiao.cn)解法思路高级思路总结题目链接:0幸运数字-蓝桥云课(lanqiao.cn)解法首先是我写了差不多一个小时的解法,裂开了,为什么我如此废物思路        寻找第2023个在二进制、八进制、十进制和十六进制表示下都为哈......
  • 2023年蓝桥杯模拟省赛——列名
    目录题目链接:2.列名-蓝桥云课(lanqiao.cn)思路高级思路:进制转换难点一难点二难点三总结题目链接:2.列名-蓝桥云课(lanqiao.cn)思路先来看我的暴力的思路吧主要有以下步骤:初始化一个长度为3的数组res用于存放结果,并且定义一个变量 p 表示目前数组中的......
  • 蓝桥杯单片机PCF8951数模转换测光敏电阻和滑动变阻器
    无论怎么调试,数码管只显示000,让人非常苦恼。下面是代码,请各位大佬指点>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>这是main函数/*头文件声明区*/#include<STC15F2K60S2.H>......
  • 【洛谷 P8661】[蓝桥杯 2018 省 B] 日志统计 题解(滑动窗口+优先队列+双端队列+集合)
    [蓝桥杯2018省B]日志统计题目描述小明维护着一个程序员论坛。现在他收集了一份“点赞”日志,日志共有NNN行。其中每一行的格式是tsid,表示在......
  • 【洛谷 P8602】[蓝桥杯 2013 省 A] 大臣的旅费 题解(图论+深度优先搜索+树的直径+链式
    [蓝桥杯2013省A]大臣的旅费题目描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同......
  • 蓝桥杯单片机STC15F2K60S2第十三届省赛代码详细讲解(附完整代码)
     一、前言            在蓝桥杯单片机的比赛当中,很多传感器都是会经常使用到的,比如说DS18B20和DS1302等,都是会经常用到的,所以我们要把这些传感器都学会一下。在省十三的蓝桥杯单片机题目中,我自己也写了一下这个代码,可能有些地方会有点问题,但是大致的功能还是能......
  • 蓝桥杯算法集训 - Week 2:双指针、归并排序、多路归并
    蓝桥杯算法集训-Week2本系列随笔用于整理AcWing题单——《蓝桥杯集训·每日一题2024》的系列题型及其对应的算法模板。一、双指针Ⅰ、代码模板常见问题分类:(1)对于一个序列,用两个指针维护一段区间(2)对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作f......
  • 会议室预约系统优化(蓝桥杯)
    文章目录会议室预约系统优化问题描述差分会议室预约系统优化问题描述假设你是一家大型企业的IT工程师,企业内有n个会议室,每天都有多个部门预约会议室进行会议。你的任务是优化现有的会议室预约系统。你需要设计一个程序来支持以下两种操作:预约会议室:给定一......
  • 蓝桥杯 递增三元组
    Problem:蓝桥杯递增三元组文章目录思路解题方法复杂度前缀和Code二分Code双指针Code思路这是一个关于数组的问题,我们需要找到一个递增的三元组。这个三元组由三个数组中的元素组成,每个数组提供一个元素,并且这三个元素满足递增的关系。解题方法我们可以使用......
  • [蓝桥杯 2017 国 C] 合根植物(P8654)
    #include<bits/stdc++.h>#defineendl'\n'usingll=longlong;typedefunsignedlonglongull;usingnamespacestd;voidGordenGhost();intn,m;map<int,int>fa;intfindB(intx){if(fa[x]==x)returnx;returnfa[x]=findB(......